Python 2.7 импорт unicode_literals из __future__ дает UnicodeDecodeError при чтении файла с помощью umauts - PullRequest
0 голосов
/ 08 мая 2019

У меня есть скрипт на 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 и добавил следующую строку в свой Pythonscript:

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)

Как я могу решить эту проблему.Спасибо за ваши советы Томас

...