TypeError: 'in <string> while send cmd via python telnet
Posted
技术标签:
【中文标题】TypeError: \'in <string> while send cmd via python telnet【英文标题】:TypeError: 'in <string> while send cmd via python telnetTypeError: 'in <string> while send cmd via python telnet 【发布时间】:2021-04-09 07:19:01 【问题描述】:我尝试通过 python telnet 发送ls /
cmd
import telnetlib
tel = telnetlib.Telnet('10.10.0.1'.'1234')
tel.write('ls / ')
但我遇到了一个错误:
if IAC in buffer:
TypeError: 'in <string>' requires string as left operand, not bytes
【问题讨论】:
【参考方案1】:您需要将字符串编码为 ASCII:
tel.write(('ls / ').encode('ascii'))
在 Python3 中,str
类将字符串存储为 unicode,您需要将它们显式转换为 ascii
。您基本上需要一个字节字符串,其中每个字符都作为 ASCII 字符而不是 Unicode 字符。
【讨论】:
查看编辑,字符串作为 unicode 传递,您需要向 ascii 提供显式编码以传递 telnetlib。 @MicrosoctCprog以上是关于TypeError: 'in <string> while send cmd via python telnet的主要内容,如果未能解决你的问题,请参考以下文章
TypeError not all arguments converted during string formatt
_TypeError(类型 'List<dynamic>' 不是类型 'Map<String, dynamic> 的子类型
_TypeError(类型'List<dynamic>'不是'Map<String,dynamic>'类型的子类型)
_TypeError(类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型 'Iterable<dynamic>' 的子类型) F
TypeError: Class extends value #<Object> is not a constructor or null in react js