我正在使用telnetlib
与某些已将Telnet实现为单用户的设备进行通信。
因此,我必须检测并删除先前尝试建立通信所创建的telnet对象。(例如:tn = telnetlib.Telnet(HOST)
)
我的尝试有点像波纹管,但是没有用:
if 'tn' in loccals() or 'tn' in globals():
print "Telnet object exists. Remove it."
tn.close()
del tn
else:
print "Create a Telnet object."
global tn
tn = telnetlib.Telnet(HOST)
print tn
最佳答案
不要删除,重新绑定。首先将tn
设置为None
:
tn = None
现在您可以测试该值:
if tn is not None:
tn.close()
tn = None
else:
tn = telnetlib.Telnet(HOST)
请注意,
global
关键字将整个范围内的名称标记为全局名称,而不仅仅是从该行开始。关于python - 从locals()或globals()中查找并删除Python对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25978749/