如何在python中将telnet输出日志保存到文本文件中

时间:2015-02-17 18:52:22

标签: python

我正在学习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输出。

1 个答案:

答案 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()

应该将命令的输出打印到此文本文件