當通過telnet執行的命令持續響應控制檯時,是否可以逐行打印telnet響應?如何逐行打印telnet響應?
例如:我執行了一個命令(收集日誌),它一直在控制檯窗口上顯示日誌。我們是否可以按行&讀取響應行來打印它,而不會丟失任何單行?
下面的代碼段會寫入日誌,但只能在特定的指定時間之後。如果我停止服務/腳本(CTRL-C)之間,那什麼都不寫。
import sys
import telnetlib
import time
orig_stdout = sys.stdout
f = open('outpuy.txt', 'w')
sys.stdout = f
try:
tn = telnetlib.Telnet(IP)
tn.read_until(b"pattern1")
tn.write(username.encode('ascii') + b"\n")
tn.read_until(b"pattern2")
tn.write(command1.encode('ascii') + b"\n")
z = tn.read_until(b'abcd\b\n',600)
array = z.splitlines()
except:
sys.exit("Telnet Failed to ", IP)
for i in array:
i=i.strip()
print(i)
sys.stdout = orig_stdout
f.close()
你指揮輸出到f那麼你認爲如何可以將其輸出到屏幕上的一行durint執行? –