【求助】telnetlib库使用write函数无法发送指令
问题描述:使用telnetlib库编写自动登陆telnet登陆routeros软路由执行命令,运行后能看到登陆成功,但无法执行write()函数的命令,代码如下,还请各位帮忙看下问题在哪,谢谢!
代码:
# -*- coding: cp936 -*-
import telnetlib
host = "127.0.0.1"
userName ="test"
password ="test"
enter = "\n"
commands='ip fire fil disable 21'
esc='quit'
t=telnetlib.Telnet(host)
#输入账号
t.read_until("Login:",1)
t.write(userName + enter)
#输入密码
t.read_until("Password:",1)
t.write(password + enter)
#能执行到这一步,登陆成功
print "Login Success"
#输入命令
t.write(commands + '\n') #命令无法执行
t.write(esc + '\n') #命令无法执行
print 'Done' #实际上述两条指令均未执行成功(手动登陆终端能成功运行指令)
print t.read_all() #卡在这了
print 'Finish!' #后面无法执行
t.close()
执行结果:
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Login Success
Done
谷歌后发现国外一朋友也遇到类似问题:帖子地址http://forum.
[ 本帖最后由 redstone100 于 2012-7-19 20:40 编辑 ]