今天想做一个自动登录服务器执行一些命令,然后上传一些东西进行部署的东西。看到有一个叫telnetlib的库可以使用,于是做了一个简单的小程序来登录到服务器执行一些命令。代码如下:
import telnetlib
host[‘ip’]=’127.0.0.1′
host[‘user’]=’test’
host[‘password’]=’test’
host[‘commands’]=[‘cd lib’, ‘ls’]
def do(host):
tn =
telnetlib.Telnet(host[‘ip’])
tn.set_debuglevel(2)
tn.read_until(“login: “)
tn.write(host[‘user’] + “\n”)
tn.read_until(“Password: “)
tn.write(host[‘password’] + “\n”)
for command
in host[‘commands’]:
tn.write(command+’\n’)
tn.write(“exit\n”)
tn.read_all()
‘Finish!’
上述程序只是一个示例,并不能真正运行。不过感到使用 Python 的模块真是太方便了。
但也遇到一些问题,主要就是如何判断程序执行的结果。telnetlib提供好多方法可以得到数据,象read_until()是当结果中存在想要<