gpt4 book ai didi

python - 如何使用python在文件中写入 'Ñ'

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:01 25 4
gpt4 key购买 nike

我知道编码可以这样声明:

# -*- coding: utf-8 -*-

但是当我尝试在文件中写入 'ñ' 时,却改为写入 'Ã'。

我也尝试过这种方式(比如在文档中写 here)

import codecs

f = codecs.open('output', encoding='utf-8')
f.write("ñÑ")

但它提高了:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)

最佳答案

您正在使用 codecs.open(),生成需要 unicode 对象 的文件对象。但是,您传入的是字节字符串,因此 Python 必须首先使用默认的 ASCII 编解码器解码为 unicode。这就是为什么您会收到 解码 错误,其中 ASCII 编解码器无法解码您的 UTF-8 字节。

解码您的字符串,使用 unicode 字符串文字,或使用 open() 而不是 codecs.open()

这些都行:

# -*- coding: utf-8 -*-
import codecs
with codecs.open('output', encoding='utf-8') as f:
f.write(u"ñÑ")

# -*- coding: utf-8 -*-
import codecs
with codecs.open('output', encoding='utf-8') as f:
f.write("ñÑ".decode('utf8'))

# -*- coding: utf-8 -*-
with open('output') as f:
f.write("ñÑ")

codecs.open() 确实采用编解码器,但它告诉文件对象如何将 unicode 对象编码为字节。

关于python - 如何使用python在文件中写入 'Ñ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32291524/

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