TypeError: 'in <string> while send cmd via python telnet

TypeError: 'in <string> while send cmd via python telnet

我尝试通过 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

您需要将字符串编码为 ASCII:

tel.write(('ls / ').encode('ascii'))

在Python3中,strclass将字符串存储为unicode,您需要将它们显式转换为ascii。你基本上需要一个字节串,每个字符都是 ASCII 字符而不是 Unicode 字符。