2010-04-21 65 views
2

我有一個Python腳本,需要讀取iso-8859-1文件,並寫入該編碼。有沒有辦法設置Python的所有文件的編碼

現在我在所有語言環境設置爲utf-8的環境中運行腳本。有沒有辦法在我的python腳本中定義所有文件acces都必須使用iso-8859-1編碼?

+1

支票/支票在郵件中,當然我早上還會愛你,而我的數據是用ISO-8859-1編碼的,而不是cp1252。 – 2010-04-21 14:48:58

回答

4

當涉及到以特定編碼讀寫文件時,Python並沒有真正地傾聽環境。如果將標準輸出連接到終端,它只會在編碼寫入標準輸出的unicode編碼時傾聽環境,

在Python 2.x中讀取和寫入文件時,默認處理字節串(str類型)。他們是編碼數據。你必須解碼你手動讀取的數據,並編碼你想寫的內容。或者,您可以使用codecs.open()打開文件,這些文件將爲您執行編碼。

在Python 3.x中,你打開文件用二進制模式,在這種情況下你得到bytes,或者你在文本模式下打開它,在這種情況下,你應該指定編碼就像使用Python 2.x的codecs.open()

這些都不受環境變量的影響;您要麼讀取字節,要麼指定編碼。

相關問題