텔넷을 통해 실행되는 명령이 콘솔을 통해 계속 응답 할 때 줄 단위로 텔넷 응답을 인쇄 할 수 있습니까?줄 단위로 텔넷 응답을 인쇄하는 방법은 무엇입니까?
예 : 로그를 수집하기 위해 명령을 실행했습니다. 콘솔 창에 로그를 계속 표시합니다. 한 줄을 놓치지 않고 응답 줄을 & 인쇄하여 읽을 수 있습니까?
아래의 코드 조각은 로그를 기록하지만 특정 시간 후에 만 기록합니다. 그 사이에 서비스/스크립트 (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 실행을 읽기 위해 루프에서
tn.read_until("\n")
을 사용할 수 있습니까? –