^读!在
这是当您试图使用.format从具有特殊字符的文件读取的文本时发生的情况。在>>> mystrf = u'special text here >> {} << special text'
>>> g = open('u.txt','r')
>>> lines = g.readlines()
>>> mystrf.format(lines[0])
Traceback (most recent call last):
File "", line 1, in
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
>>>
Python尝试将文件中的文本解码为ASCII。那我们怎么解决这个问题呢。在
我们只需告诉python正确的编码。在
^{pr2}$
但当我们再次尝试写入文件时。它不起作用。在>>> towrite.write(line)
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode character u'\xdf' in position 21: ordinal not in range(128)
我们在再次写入文件之前对该行进行编码。在>>> towrite.write(line.encode('utf-8'))