/ / Čítanie bajtov zo súboru bez špecifikácie kódovania v Pythone 3 - python, súbor, python-3.x, kódovanie, python-2.x

Čítanie bajtov zo súboru bez špecifikácie kódovania v Pythone 3 - python, súbor, python-3.x, kódovanie, python-2.x

V Pythone 2 sa z binárneho súboru šťastne načítajú prvé dva bajty:

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

Avšak v Pythone 3 to môže mať za následok napríklad:

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

Čo ma prináša k otázke: ako čítať N surové bajty zo súboru v Pythone 3 bez určenia kódovania?

odpovede:

3 pre odpoveď č. 1

Zadajte binárny režim:

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

Mali by ste to urobiť aj v systéme Python 2, ak nechcete, aby sa chyby ako CRLF stali LF vo vašom binárnom súbore.