![](/img/trans.png)
[英]configparser.MissingSectionHeaderError: File contains no section headers. Reddit bot
[英]MissingSectionHeaderError: File contains no section headers.(configparser)
我正在使用 configparser 來自動讀取和修改名為“streamer.conf”的文件 conf。 我正在這樣做:
import configparser
config = configparser.ConfigParser()
config.read('C:/Users/../Desktop/streamer.conf')
然后它與此錯誤消息分開:
MissingSectionHeaderError: File contains no section headers.
file: 'C:/Users/../Desktop/streamer.conf', line: 1
u'input{\n'
可能有什么問題? 任何幫助表示贊賞。
只需指定正確的編碼
config.read(config_file_path, encoding='utf-8-sig')
我在創建pip.conf
文件時收到了相同的錯誤消息。 就我而言,我無意中創建了一個帶有 BOM(字節順序標記)的 UTF-8 文件,而不是一個普通的 UTF-8 文件(沒有 BOM)。
因此,請檢查以確保您擁有純文本文件。 如果您不確定,您可以在十六進制編輯器中打開文件並檢查第一個字節。
ConfigParser 使用 BOM(xef xbb xbf) 解析 UTF-8 文件
u = open("setting.ini").read().decode("utf-8-sig").encode("utf-8")
fp = tempfile.TemporaryFile()
fp.write(u)
fp.seek(0)
conf = ConfigParser.ConfigParser()
conf.readfp(fp)
正如其他答案中提到的,配置文件需要是INI 格式,但您看到的實際錯誤是由於請求的配置文件缺少任何標題- 這些名稱括在方括號中,為INI 文件的一部分。 默認標頭是[DEFAULT]
例如
[DEFAULT]
config_item1='something'
config_item2=2
您沒有包含streamer.conf
,但從錯誤消息來看,它的格式不正確。 configparser
用於解析“INI”文件:
[section1]
setting1 = value
setting2 = value
[section2]
setting3 = value
setting1 = value
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.