2015-05-27 3 views
0

В Python 2, следующий будет счастливо загрузить первые два байта из двоичного файла:Чтение байтов из файла без указания кодировки в Python 3

with open(file_name) as f: 
    b = f.read(2) 

Однако в Python 3, то же самое может привести, например, :

UnicodeDecodeError: 'utf-8' codec can't decode byte 2: invalid start byte 

подводит меня к вопросу: как читать N сырых байт из файла в Python 3 без указания кодировки?

ответ

3

Укажите двоичный режим:

with open(file_name, 'rb') as f: 

Вы должны сделать это в Python 2, тоже не, если вы хотите ошибки, как CRLFs становится ЛФ в вашем бинарном файле.

+0

Так просто, спасибо! –

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