1
我有一個腳本,我使用pexpect創建一個產卵物體。Python Pexpect產卵物體Flush
的代碼看起來是這樣的:
self.rshcmd='rsh 192.X.X.X'
self.pipe1 = pexpect.spawn(command=self.rshcmd, logfile=sys.stdout,maxread=512)
現在後,我到這一點,我期待提示,我得到的是>
而現在我變成蘇發送su
,然後提供密碼。現在我的提示如預期變得#
我有連接到該路由器催生了PC(192.X.X.X),這是192.168.1.1
我通過發送telnet 192.168.1.1
遠程登錄到該路由器。從此路由器完成後,我想退出Telnet會話。
因此,我發送exit
並期待#
,因爲我會回到產生的PC的根源。但是我看到的是我實際上獲得了<
作爲我的提示。
所以不知怎的,它發送兩次「退出」。一個人從telnet帶我出去,另一個帶我離開根。我認爲管道沒有被沖刷掉,我們得到了一些舊的堆疊命令。
有沒有一種方法可以清除管道中的所有舊命令?
從文檔有一個沖洗功能,但它似乎什麼都不做:
flush(self)
This does nothing. It is here to support the interface for a
File-like object.
pexpect不發送命令兩次。在發送'exit'之前,telnet連接是否可以關閉? –