python中出现TypeError: Type str doesn't support the buffer API错误

我想做一个能自动telnet到服务器进行一系列操作的python程序,但是一直出现这个错误Traceback(mostrecentcalllast):File"C:\Us... 我想做一个能自动telnet到服务器进行一系列操作的python程序,但是一直出现这个错误
Traceback (most recent call last):
File "C:\Users\CHEN\Desktop\test1.py", line 26, in <module>
do_telnet(host_ip,host_user,host_password,host_commands)
File "C:\Users\CHEN\Desktop\test1.py", line 8, in do_telnet
tn.read_until("login: ")
File "C:\Python33\lib\telnetlib.py", line 299, in read_until
return self._read_until_with_select(match, timeout)
File "C:\Python33\lib\telnetlib.py", line 353, in _read_until_with_select
i = self.cookedq.find(match)
TypeError: Type str doesn't support the buffer API
下面是我的代码:
#encoding=utf-8
import telnetlib

def do_telnet(host_ip,host_user,host_password,host_commands):
tn = telnetlib.Telnet(host_ip)
tn.set_debuglevel(2)
tn.read_until("login: ",10)
tn.write(host_user + "\n")
tn.read_until("Password: ",10)
tn.write(host_password + "\n")

for command in host_commands:
tn.write(command+ '\n')

tn.write("exit\n")
# print tn.read_all()

#print 'Finish!'

if __name__=='__main__':
host_ip='192.168.83.132'
host_user='chen'
host_password='cjp92328'
host_commands=['ls']
do_telnet(host_ip,host_user,host_password,host_commands)
展开
 我来答
bdwisyou7d
2014-06-16 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1083万
展开全部
应该是这个地方的问题。 telnetlib.Telnet(host_ip)

你的telnet对象没有初始化好。得到的不是一个socket或者是其它的,而是一个str。所以它想使用read之类的方法,没办法。所以才提示这个错误。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式