檔案和資料夾 IO
避免跨平臺編碼地獄
當使用 Python 的內建 open()
時,如果你打算跨平臺執行程式碼,最好始終傳遞 encoding
引數。原因是系統的預設編碼因平臺而異。
雖然 linux
系統確實使用 utf-8
作為預設值,但對於 MAC 和 Windows 來說並不一定如此。
要檢查系統的預設編碼,請嘗試以下操作:
import sys
sys.getdefaultencoding()
來自任何 python 直譯器。
因此,始終對編碼進行分類是明智的,以確保你正在使用的字串按照你的想法進行編碼,從而確保跨平臺相容性。
with open('somefile.txt', 'r', encoding='UTF-8') as f:
for line in f:
print(line)