У меня есть скрипт на 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)
Как я могу решить эту проблему.Спасибо за ваши советы Томас