gpt4 book ai didi

python - 如何在 Python/Django 中将西里尔字母写入文件

转载 作者:行者123 更新时间:2023-11-30 23:18:30 24 4
gpt4 key购买 nike

我有一个包含大量文本的大表单。例如,它可能包含带引号的单词,例如 "Программа"。当我将其提交到服务器并尝试将提交的内容写入文件时,出现错误。如果我用拉丁字母替换所有西里尔字母,那么一切正常。问题显然出在服务器端。我想,如果我知道如何处理像 "Текст на кирилллице" 这样的字符串,我就可以解决这个问题。

最佳答案

当你写入文件unicode字符串时,你必须先对其进行编码。

让我们尝试以下操作:

# -*- coding: utf-8 -*-
text = u"Текст на кириллице"

with open('outfile.txt', 'w') as fw:
fw.write(text)

此代码将引发异常

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

所以,只需对文本进行编码即可。最流行的编码之一是“utf8”:

# -*- coding: utf-8 -*-
text = u"Текст на кириллице"

with open('outfile.txt', 'w') as fw:
fw.write(text.encode('utf8'))

您必须记住用于对文本进行编码的编码,以便以后能够读取它。要从文件中读取文本,请使用与写入相同的编码对其进行解码:

with open('outfile.txt') as f:
text = f.read()

print text.decode('utf8')

关于python - 如何在 Python/Django 中将西里尔字母写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700084/

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