2015-02-11 53 views
1

Python源文件通常有類似以下如何使用python源文件的'編碼'標題正確讀取其內容?

# -*- coding: iso-8859-1 -*- 

一個coding頭怎麼能我此行正確地解析此類文件的內容是什麼?有沒有比以二進制模式手動打開文件,閱讀一行,並檢查它是否包含標題更好的方法?有沒有這樣的圖書館?


背景:這個進來固定this bug的上下文中,與python3和importmagic一起使用時,其崩潰elpy。我試圖修復的代碼使用

with open(filename) as fd: 
    success = subtree.index_source(filename, fd.read()) 

並在非utf-8文件上崩潰。理想情況下,我希望將更改保持在最低限度。

+0

「更好的方式」是這樣一個非常相對的事情,我試圖忽略你的問題。你現在做這件事的方式有什麼不好? – 2015-02-11 16:45:23

+1

@MarcusMüller - 考慮到python支持一些源代碼編碼方案,假設有一個已經存在的python庫來讀取這些文件是合理的。有幾種格式,8位和16位編碼,物料清單等等,這並不是一件明顯的事情。 – tdelaney 2015-02-11 16:55:03

+0

啊,但是有一個PEP已經描述了應該如何處理 – 2015-02-11 16:56:26

回答

相關問題