Python 从文件读取路由器 IP 并进行 Telnet 连接
我想从一个文本文件中读取一个路由器的IP地址,然后通过telnet连接到它:
import sys
import telnetlib
f = open("C:\\MyIP.txt","r")
line = f.readline()
user = "username"
password = "password"
for line in f:
tn = telnetlib.Telnet(line)
tn.read_until("Login: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
f.close()
但是,在上面的代码中,如果我直接从文件中读取,它就不工作。
只有这样:
import getpass
import sys
import telnetlib
hostserver = "192.168.2.1"
newline = "\n"
username = "username" + newline
password = "password" + newline
telnet = telnetlib.Telnet(hostserver)
telnet.read_until("Login: ")
telnet.write(username+ "\n")
telnet.read_until("Password: ")
telnet.write(password+ "\n")
while 1:
command = raw_input("> ")
telnet.write(command+ "\n")
if command == "exit":
break
telnet.read_all()
任何帮助都很感谢
1 个回答
1
你有这样的代码:
line = f.readline()
然后稍后,你有:
for line in f:
这个 for
循环会遍历文件中每一行 那些还没有被读取的行。看起来你其实并不想要循环。可以去掉这个 for
语句,因为你的 line
变量在上面已经设置好了。