我正在尝试将python2代码移植到python 3。
以下代码在python 2中正常工作
zones = [i.encode("ascii", "ignore").strip(" \"\'")
for i in resque_zone]
但是在Python 3中,这给了我著名的“需要一个类似字节的对象,而不是str”
line 194, in <listcomp>
for i in resque_zone]
TypeError: a bytes-like object is required, not 'str'
有人可以帮我吗
最佳答案
如果要在strip
字符串上调用,则bytes
的参数必须是bytes
对象。
zones = [i.encode("ascii", "ignore").strip(b" \"\'")
# ^
或者在您
encode
之前剥离它:zones = [i.strip(" \"\'").encode("ascii", "ignore")
关于python - Python 3移植问题,说需要一个类似字节的对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54778543/