使用 configparser 解析 ini 文件给出 configparser.MissingSectionHeaderError ,第一行为 'ÿþ\n'
Parsing ini file with configparser gives configparser.MissingSectionHeaderError with 'ÿþ\n' as the first line
我在从 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'
有谁知道如何解决这个问题?
您提供的错误包含关于第一行有那些奇怪的 'ÿþ\n'
符号的信息。
ÿþ
实际上是 Byte order mark (BOM) of UTF-16 encoding. (Found it here: )
根据documentation可以指定读取配置文件时的编码方式如下:
config = configparser.ConfigParser()
config.read('desktop.ini', encoding='utf-16')
我在从 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'
有谁知道如何解决这个问题?
您提供的错误包含关于第一行有那些奇怪的 'ÿþ\n'
符号的信息。
ÿþ
实际上是 Byte order mark (BOM) of UTF-16 encoding. (Found it here:
根据documentation可以指定读取配置文件时的编码方式如下:
config = configparser.ConfigParser()
config.read('desktop.ini', encoding='utf-16')