如何检查一个对象是否已经在python中初始化?我有my_tac = tac(EDL_port)
在多个地方,如果它已经被初始化,它会抛出一个如下所示的错误..我想添加一个检查,如果my_tac是initiliazed或没有,如何要做到这一点? CODE: -如何检查一个对象是否已在python中初始化?
#From another file
my_tac = tac(EDL_port)
#alpha.py
class tac:
## tac class constructor.
#
# @param self
# @param timeout
# @param baud_rate
def __init__(self, port=None, timeout=0.3, baud_rate=115200):
if port is not None:
self.port = port
self.ser = serial.Serial(self.port, baud_rate, timeout=timeout)
return
else:
(tac_ports,spider_ports) = tac_probe_for_devices()
print "TAC ports..."
......................
错误: -
11/5/2016 8:54:05 PM: my_tac = tac(EDL_port)
11/5/2016 8:54:05 PM: File "C:\CST_QSPR\third_party_bin\BuildLoaderScripts\Android\android_dl\alpaca.py", line 90, in __init__
11/5/2016 8:54:05 PM: self.ser = serial.Serial(self.port, baud_rate, timeout=timeout)
11/5/2016 8:54:05 PM: File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 31, in __init__
11/5/2016 8:54:05 PM: ERROR:adb -s C2687475 remount failed
11/5/2016 8:54:05 PM: super(Serial, self).__init__(*args, **kwargs)
11/5/2016 8:54:05 PM: File "C:\Python27\lib\site-packages\serial\serialutil.py", line 236, in __init__
11/5/2016 8:54:05 PM: self.open()
11/5/2016 8:54:05 PM: File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 62, in open
11/5/2016 8:54:05 PM: raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
11/5/2016 8:54:05 PM: serial.serialutil.SerialException: could not open port 'COM8': WindowsError(5, 'Access is denied.')
你是什么意思的“初始化”?那'__init __()'运行?对于每个对象实例都是如此。这个错误信息又是如何与问题相关的? –
克劳斯 - 问题是我怎么知道是否有一个my_tac对象实例已经....错误是相关的,因为my_tac的每个对象初始化都拥有一个COM端口,在这种情况下说COM8 ...下一次我初始化它抛出一个错误'访问被拒绝....' – charlieW