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中,str
class将字符串存储为unicode,您需要将它们显式转换为ascii
。你基本上需要一个字节串,每个字符都是 ASCII 字符而不是 Unicode 字符。
我尝试通过 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中,str
class将字符串存储为unicode,您需要将它们显式转换为ascii
。你基本上需要一个字节串,每个字符都是 ASCII 字符而不是 Unicode 字符。