Python 3.x 如何将telnet输出日志保存到文本文件

Python 3.x 如何将telnet输出日志保存到文本文件,python-3.x,networking,network-programming,telnet,telnetlib,Python 3.x,Networking,Network Programming,Telnet,Telnetlib,大家好,我怎样才能将输出日志保存到这个脚本的文本文件中来解决这个问题 import sys import telnetlib import getpass ##################### ###### Define Host host=["192.168.1.164","192.168.1.169"] devno=len(host) user='ali' Password=

大家好,我怎样才能将输出日志保存到这个脚本的文本文件中来解决这个问题

    import sys
    import telnetlib
    import getpass
    #####################
    ###### Define Host
    host=["192.168.1.164","192.168.1.169"]
    devno=len(host)
    user='ali'
    Password='cisco'

    for i in range(devno):
        print('*'*50 + ' Connected to device : '+str(host[i]) +'*'*50)
        tn=telnetlib.Telnet(host[i])
        tn.read_until(b'Username: ')
        tn.write(user.encode('ascii')+ b'\n')
        tn.read_until(b'Password')
        tn.write(Password.encode('ascii')+b'\n')
        #tn.write(b'enable' + b'\n')
        #tn.write(b"\n")
        #tn.write(b"terminal length 0\n")
        #tn.write(b"show run\n")
        #tn.write(b' show ip route\n')
        tn.write(b'  exit\n')
        print(tn.read_all().decode('ascii'))

您可以在for循环的末尾添加这个

    with open("text1.txt", "w") as f:
            f.write(str(tn.read_all().decode("ascii")))
以上内容应将命令的输出保存到文件中

如果您还想获取日志,那么您需要在退出之前添加以下内容

    tn.write(b' show log\n')

非常感谢你,侯赛因先生,它在同一目录下打开文件,但不将日志保存到文件中,只是空文件。我现在尝试你的命令,它可以打开文件,但日志不保存到文件中file@aliabd请检查我的答案,我更新了它。。。这完全取决于您使用的命令我检查并尝试创建文件但不将输出保存到文件非常感谢husseinI先生我想保存文件的输出您的代码打开文件而不保存任何输出