我正在学习python并尝试使用telnet连接我的卫星解码器。当我尝试通过telnet python脚本连接我的设备时,我可以成功连接到设备。
但我想从文本文件中开始捕获/保存以及读取设备的输出和日志(通过telnet连接)。另外,我想发送一些命令来获取命令的输出并存储在文本文件中。
请帮助您了解如何通过本地文本文件捕获和写入通过telnet连接连接的设备的输出日志。
注意:一旦密码成功,我的设备就会打印一些日志,并且必须在本地文本文件中捕获,命令的输出也应该记录在文本文件中。
HOST = "192.131.244.100"
user = "user"
password = "user"
tn = Telnet(HOST)
tn.read_until("Login: ")
tn.write(user + "\n")
tn.read_until("Password: ")
tn.write(password + "\n")
time.sleep(5)
tn.write("lr\n") # lr is command to pause logs
tn.write("version\n") # command to check running software version
tn.write("exit\n")
str_all = tn.read_all()
f = open("C:\\temp\\Logs\\output.txt", 'w')
f.write(str_all)
tn.close()
无法从启动中读取和保存所有日志。另外,请。让我知道以任何其他方式在putty或teraterm中保存telnet输出。
答案 0 :(得分:2)
尝试类似:
HOST = "192.131.244.100"
user = "user"
password = "user"
tn = Telnet(HOST)
tn.read_until("Login: ")
tn.write(user + "\n")
tn.read_until("Password: ")
tn.write(password + "\n")
time.sleep(5)
tn.write("lr\n")
OUTPUT = tn.read_until(":~>") #Change :~> to what the telnet displays when finished parsing
FILE=open(C:\\temp\\Logs\\output.txt", "w")
FILE.write(OUTPUT)
FILE.close()
tn.close()
应该将命令的输出打印到此文本文件