[英]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.