python3 TypeError: a bytes-like object is required
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 TypeError: a bytes-like object is required相关的知识,希望对你有一定的参考价值。
运行telnetlib的时候报错:TypeError: a bytes-like object is required, not ‘str’,原因是因为python2和python3的版本的差异。
在python2中可正常运行,而python3最重要的新特性也是对文本和二进制数据做了更清晰的区分。文本用unicode编码,为str类型,二进制数据则为bytes类型。
python有两种类型转换的函数encode(),decode() 。
encode(编码),可以将str类型编码为bytes。
decode(译码),可以将bytes类型转换为str类型。
因此在telnetlib交互的时候需要使用encode()。
tn.read_until("username:".encode())
以上是关于python3 TypeError: a bytes-like object is required的主要内容,如果未能解决你的问题,请参考以下文章
python3写爬虫报错--------TypeError: cannot use a string pattern on a bytes-like object
Python 3.8 TypeError: can't concat str to bytes - TypeError: a bytes-like object is required, not 's
Python Socket TypeError: a bytes-like object is required, not 'str' 错误提示
Python错误TypeError: write() argument must be str, not bytes
TypeError: cannot use a string pattern on a bytes-like object
Python 3.5.2 TypeError: a bytes-like object is required, not 'str’问题解决方案