2016-05-08 2 views
0

Я хотел бы импортировать даже простой текстовый файл в Python. Например, вот содержимое example.txt:UnicodeDecodeError даже при импорте простого txt-файла в Python

hello 
my 
friend 

Очень простой. Однако, когда я пытаюсь импортировать файл и читать:

f = open('example.txt') 
f.read() 

Я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<pyshell#1>", line 1, in <module> 
    f.read() 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/encodings/ascii.py", line 26, in decode 
return codecs.ascii_decode(input, self.errors)[0] 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128) 

Что является источником этой проблемы? Очевидно, что в файле нет никаких символов, отличных от ascii.

Я пробовал это в IDLE, терминале (Mac OSX) и Rodeo и получаю подобные проблемы во всем.

Я очень новичок в Python, и я обеспокоен тем, что, возможно, что-то приложил к установке. Я загружал различные версии на протяжении многих лет, прямо из Python, Anaconda, macports и т. Д., И мне интересно, не играют ли различные источники ...

Python 3.5.1 на OSX 10.11.4.

ответ

1

Возможно, ваш файл сохранен с кодировкой UTF-8 with BOM (знак порядка байтов). Попробуйте сохранить файл в явном виде как UTF-8 (без спецификации). Хотя спецификация не включена в кодека ASCII, она вызывает UnicodeError.

Надеюсь, это поможет!

+0

Bingo! Спасибо! – CephBirk

Смежные вопросы