今天使用ConfigParser解析一个ini文件,报出如下错误:

    config.read(logFile)
  File "C:\Python26\lib\ConfigParser.py", line 286, in read
    self._read(fp, filename)
  File "C:\Python26\lib\ConfigParser.py", line 482, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
file: C:\test\test.ini, line: 1
'\xff\xfe\r\x00\n'

经过分析是由于文件编码方式导致,调整代码如下,问题解决:

def test():
    logFile = r'C:\test\test.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

 

 

posted on 2013-11-18 14:42  一个人的天空@  阅读(21641)  评论(0编辑  收藏  举报