从__future__导入python 2.7 unicode_literals会在使用umauts读取文件时给出UnicodeDecodeError

时间:2019-05-08 13:50:40

标签: python-2.7 file codec diacritics

我有一个Python脚本,该脚本在输入文件“ myfile.in”中读写带有德语变音符号(äöü)的文件。我使用的是Python版本2.7。这是我的脚本的简化版本:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
if __name__=='__main__':       
    with open("myfile.in", "r") as f:
        lines = f.readlines()  
    txt = ""        
    for line in lines: 
        txt = txt + line
    with open("myfile.out", "w") as f:
        f.write(txt) 

这很好。

现在,我从客户那里获得了使用Future语句定义的要求,并在Python脚本中添加了以下行:

from __future__ import unicode_literals

现在,我收到以下错误消息:

Traceback (most recent call last):
  File "myscript.py", line 9, in <module>
    txt = txt + line
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 23: ordinal not in range(128)

如何解决此问题。 谢谢你的提示托马斯

0 个答案:

没有答案