我有一个简单的类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
如果我创建了这个类的一个实例,然后以这样的方式销毁我的实例,即disconnect()和 del ()方法都没有运行,那么端口仍然会被绑定。因此,如果我再次尝试连接,则会出现以下异常:
SerialException: could not open port 'COM1': WindowsError(5, 'Access is denied.')
如何使用我的代码断开串口,我可以使用新的Connect实例重新连接到它?