繁体   English   中英

TypeError:必须是str,而不是字节Error

[英]TypeError: must be str, not bytes Error

在我的python代码中,执行此行时出现此错误。

fo.write(text.replace("'","").encode("utf8"));

错误:

TypeError: must be str, not bytes

它在python 2.7上运行正常,但在python 2.7下运行正常。

在Python 3中,以文本模式打开的文件对象要求您编写Unicode文本

您已将文本编码为UTF-8字节,但是文件对象有责任进行编码。 不要编码文本。

通过使用io.open()函数而不是内置的open()函数,可以在Python 2中获得相同的行为。 Python 2中的io模块是Python 3中使用的新I / O基础结构的反向移植。

如果您需要编写多语言代码(适用于Python 2和Python 3的Python代码),只需从io导入:

import io

with io.open(filename, 'w', encoding='utf8') as fo:
    fo.write(text.replace("'",""))

Python 3内置的open()函数与io.open()完全相同。

暂无
暂无

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

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