gpt4 book ai didi

unicode - write()-在Python 3.x中编码字符串

转载 作者:行者123 更新时间:2023-12-04 13:20:46 26 4
gpt4 key购买 nike

我有一个要写入文件的unicode字符串。

在Python 2中,我可以这样写:

open('filename', 'w').write(s.encode('utf-8'))

但这对于Python 3失败。显然,s.encode()返回的类型为“字节”,而write()函数不接受:
TypeError: must be str, not bytes

有谁知道如何将上述代码移植到Python 3?

编辑:

感谢所有提议使用二进制模式的人!不幸的是,这会导致\n字符出现问题。有什么方法可以实现与Python 2相同的结果(即以UTF-8编码非ANSI字符,同时保留特定于操作系统的\n格式)吗?

谢谢!

最佳答案

以二进制模式打开文件,就更改而言,这是侵入性最低的方法。

另一方面,您可以使用open()设置输出文件编码,并完全避免显式字符串编码。

您可能需要阅读open()函数的手册。

关于unicode - write()-在Python 3.x中编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com