簡體   English   中英

從locals()或globals()中查找並刪除Python對象

[英]Find and remove a Python object from locals() or globals()

我正在使用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關鍵字將整個范圍內的名稱標記為全局,而不僅僅是從該行開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM