今天使用ConfigParser解析一个ini文件,报出如下错误:
config.read(logFile) File "C:Python26libConfigParser.py", line 286, in read self._read(fp, filename) File "C:Python26libConfigParser.py", line 482, in _read raise MissingSectionHeaderError(fpname, lineno, line) MissingSectionHeaderError: File contains no section headers. file: C: est est.ini, line: 1 'xffxfe x00 '
经过分析是由于文件编码方式导致,调整代码如下,问题解决:
def test(): logFile = r'C: est est.ini' config = ConfigParser.ConfigParser() config.readfp(codecs.open(logFile, "r", "utf_16")) print config.sections()
此文件为unicode编码,所以这里填入"utf_16",如果为其他编码格式,则修改该参数。
python编码查询地址:http://docs.python.org/2/library/codecs.html?highlight=streamcodec#standard-encodings