2016-10-06 79 views
0

當我在Windows設備上處理.txt文件時,我必須保存爲:ANSI,Unicode,Unicode大寫字母或UTF-8。當我在OSX設備上運行Python3和嘗試導入和閱讀txt文件,我要做的線沿線的東西:在Python3中打開文件時如何避免編碼參數

with open('ships.txt', 'r', encoding='utf-8') as f: 
    for line in f.readlines(): 
     print(line) 

有沒有我應該用編碼.txt文件的特定格式在Windows設備上,以避免在Python中打開文件時添加編碼參數?

+0

您可以使用編碼猜測器或將BOM添加到要讀取的文件 –

+0

@Ni。添加物料清單無濟於事。 'open'不會將它們用於編碼檢測。 –

+0

@Mark Tolonen昨天對,但我想''編碼'庫可以使用物料清單 –

回答

0

在您的OSX設備上調用locale.getpreferredencoding(False)。這是用於讀取該設備上的文件的默認編碼。在Windows中保存該編碼,不需要在OSX設備上指定編碼。

但正如Zen of Python所說,「顯式比隱式更好」。既然你知道編碼,爲什麼不指定它?

相關問題