[英]How can i mock configparser.ConfigParser read method in python
[英]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.