使用configparser解析ini文件会给出configparser.MissingSectionHeaderError以'ÿþ\ n'作为第一行

时间:2018-11-29 10:29:09

标签: python ini configparser

我无法从ini文件的[.ShellClassInfo]部分读取变量。

我的ini文件:(上下都有一个空白)

[.ShellClassInfo]

IconResource=\\some_text

我从文件中读取文本的方式:

import configparser

config = configparser.ConfigParser()
config.read('desktop.ini')
file = config.get('.ShellClassInfo', 'IconResource')
content = open(file, 'r').read()

在脚本的其余部分中,我检查变量内容中是否包含一些文本。

但是在我可以检查之前,会出现以下错误:

configparser.MissingSectionHeaderError: File contains no section headers.
file: 'desktop.ini', line: 1
'ÿþ\n'

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您提供的错误包含有关第一行包含那些奇怪的'ÿþ\n'符号的信息。
 ÿþ实际上是UTF-16编码的Byte order mark (BOM)。 (在这里找到:link

根据documentation,您可以按如下方式指定配置文件的编码:

config = configparser.ConfigParser()
config.read('desktop.ini', encoding='utf-16')