Python 独角兽巨蟒?

Python 独角兽巨蟒?,python,python-3.x,Python,Python 3.x,尝试写入文件时出现以下错误: UnicodeEncodeError('ascii', u'B\u1ea7u cua (B\u1ea7u cua 2017 )', 1, 2, 'ordinal not in range(128)')) 我试着写这篇文章ầu cua在文件中: f = codecs.open("13.txt", "a", "utf-8") f.write("{}\n".format(title)) 我还尝试使用title.encode() 这给了我一个新的错误: 当我使用.enc

尝试写入文件时出现以下错误:

UnicodeEncodeError('ascii', u'B\u1ea7u cua (B\u1ea7u cua 2017 )', 1, 2, 'ordinal not in range(128)'))
我试着写这篇文章ầu cua在文件中:

f = codecs.open("13.txt", "a", "utf-8")
f.write("{}\n".format(title))
我还尝试使用
title.encode()

这给了我一个新的错误:

当我使用
.encode(text)
时,我得到以下错误:`

UnicodeDecodeError('ascii', 'B\xe1\xba\xa7u cua (B\xe1\xba\xa7u cua 2017 )\n', 1, 2, 'ordinal not in range(128)'))
`
如“将Unicode文本写入文本文件?”所述,您有许多解决方案

基本上,您有两个问题:

str.format()
方法必须用于
unicode
对象

u'{}\n'.format('Bầu cua')
您写入的文件也必须使用正确的编码打开:

f = open('13.txt', 'a', encoding='utf-8')
因此,这适用于Python 3:

data = 'Bầu cua'
f = open('13.txt', 'a', encoding='utf-8')
line = u'{}\n'.format(data)
f.write(line)
f.close()
如“将Unicode文本写入文本文件?”所述,您有许多解决方案

基本上,您有两个问题:

str.format()
方法必须用于
unicode
对象

u'{}\n'.format('Bầu cua')
您写入的文件也必须使用正确的编码打开:

f = open('13.txt', 'a', encoding='utf-8')
因此,这适用于Python 3:

data = 'Bầu cua'
f = open('13.txt', 'a', encoding='utf-8')
line = u'{}\n'.format(data)
f.write(line)
f.close()

尝试在文件开头的这两行。它对Python2.7很有效

#!/usr/bin/env python
# -*- coding: utf-8 -*-

data = u'Bầu cua'
f = open('test.txt', 'a')
line = u'{}\n'.format(data)
f.write(line.encode('utf8'))
f.close()

尝试在文件开头的这两行。它对Python2.7很有效

#!/usr/bin/env python
# -*- coding: utf-8 -*-

data = u'Bầu cua'
f = open('test.txt', 'a')
line = u'{}\n'.format(data)
f.write(line.encode('utf8'))
f.close()

可能的副本我也读过这个问题,并尝试了所有的建议。这对我不起作用
http://stackoverflow.com/a/6048203/7041624
@MisterPi我们可以把编码类型放在文件的开头。我也读过这个问题,并尝试了所有建议,但对我无效
http://stackoverflow.com/a/6048203/7041624
@MisterPi我们可以将编码类型放在文件的开头是的,我应用了您的答案,现在得到错误:
UnicodeDecodeError('ascii','Volkswagen Golf GTI\xe2\x80\x93 EBG\n',20,21',序号不在范围内(128)')
注意,请注意我的评论是的,我应用了您的答案,现在出现错误:
UnicodeDecodeError('ascii',Volkswagen Golf GTI\xe2\x80\x93 EBG\n',20,21',序号不在范围内(128))
注意,请注意我的评论