我有一个简单的类Connect,它在实例化时创建一个串行连接.
import serial
import serial.tools.list_ports_windows as list_ports
class Connect:
def __init__(self):
connect(self)
def connect(self):
self.ser = serial.Serial(port='COM1')
def disconnect(self):
self.ser.close()
def __del__(self):
self.disconnect()
del self.ser
Run Code Online (Sandbox Code Playgroud)
如果我创建了这个类的实例,然后以这样的方式销毁我的实例,即disconnect()和del()方法都不运行,那么端口仍将被绑定.因此,如果我再次尝试连接,则会出现以下异常:
SerialException: could not open port 'COM1': WindowsError(5, 'Access is denied.')
Run Code Online (Sandbox Code Playgroud)
我可以用我的代码断开串口,所以我可以用一个新的Connect实例重新连接它?