我对 python 脚本非常陌生,但我想我会试一试,看看我是否可以自动化一些我通过 Telnet 定期执行的简单任务。
我找到了一个基本的 python telnet 脚本:
import getpass
import sys
import telnetlib
HOST = "localhost"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")
tn.write("ls\n")
tn.write("exit\n")
print tn.read_all()
这“似乎”有效,但不会向控制台返回任何内容。由于登录过程需要几秒钟,我认为它太快了,需要等待用户提示。所以我尝试添加这个。
tn.read_until(">")
它不起作用...我收到此错误
File "test.py", line 16, in <module>
tn.read_until(">")
File "/usr/lib/python2.7/telnetlib.py", line 319, in read_until
return self.read_very_lazy()
File "/usr/lib/python2.7/telnetlib.py", line 395, in read_very_lazy
raise EOFError, 'telnet connection closed'
EOFError: telnet connection closed
我觉得我错过了一些简单的东西......但解决方案似乎在暗示我。任何输入将不胜感激!