檔案和資料夾 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)