繁体   English   中英

Python 3 移植问题,说需要一个类似字节的对象?

[英]Python 3 porting issue, says a byte-like object is required?

我正在尝试将 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'

有人可以帮我吗

如果您在bytes字符串上调用它,要strip的参数必须是bytes对象。

zones = [i.encode("ascii", "ignore").strip(b" \"\'")
#                                          ^

encode之前要么将其剥离,要么将其剥离:

zones = [i.strip(" \"\'").encode("ascii", "ignore")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM