簡體   English   中英

如何使用 python configparser 讀取縮進部分

[英]How to read indentated sections with python configparser

我嘗試使用 python configparser 讀取以下配置文件:

# test.conf
[section]
a = 0.3

        [subsection]
        b = 123
# main.py

import configparser
conf = configparser.ConfigParser()
conf.read("./test.conf")
a = conf['section']['a']
print(a)

Output:

0.3

[subsection]
b = 123

如果我刪除縮進,則 a 被正確讀取。

如何使用 python configparser 正確讀取帶有縮進的配置文件?

根據文檔,它應該可以工作:
https://docs.python.org/3.8/library/configparser.html#supported-ini-file-structure

我使用 python 3.7.6

在 python 錯誤跟蹤器中提出錯誤后,我找到了一種閱讀縮進小節的方法。 empty_lines_in_values=False添加到您的代碼中。

錯誤跟蹤鏈接: https://bugs.python.org/issue41379

import configparser
conf = configparser.ConfigParser(empty_lines_in_values=False)
conf.read("./test.conf")
a = conf['section']['a']
print(a)

Output:

hello

Configparser只支持一個section,不支持subsection,如果你願意你可以使用config obj, http://www.voidspace.org.uk/python/configobj.html

在這里檢查,這可能對您有所幫助python 3 為 configparser 制作小節

pip install configobj

並且您應該在 configobj 模塊中對像這樣的 [[subsection]] 使用方括號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM