我正在编写一个列表处理脚本,需要读取列表中每个项目的配置数据。配置数据最好表示为嵌套树。
我通常会使用YAML来存储数据 - 但我认为使用ConfigParser会更加Pythonic方法 - 并使脚本对其他Python编码器更加“透明” - 因为有惊人的人不熟悉YAML格式。
我已经快速查看configParser documentation,但我无法确定它是否可以处理嵌套数据。
我的配置数据将具有以下结构:
<markers>
<marker>
<date></date>
<value></value>
</marker>
</markers>
<items>
<item>
<start></start>
<end></end>
<mcc>
<chg>
<date></date>
<ival></ival>
<fval></fval>
</chg>
</mcc>
</item>
</items>
我可以使用ConfigParser在配置文件中读取/(写入)这种嵌套数据吗? (我更感兴趣的是能够阅读而不是编写配置文件。我不介意在必要时手动编写配置文件。)
答案 0 :(得分:7)
不,configparser
不支持嵌套。你可以改为configObj。它已经成熟并且使用得非常广泛。
答案 1 :(得分:2)
根据您的xml数据,您需要部分和子部分。所以你可以使用ConfigParser
,但你必须给子节提供一些含义,如
[markers]
[markers.marker]
date=''
value=''
[items]
[items.item]
start=''
end=''
[items.item.mcc]
[items.item.mcc.chg]
date=''
ival=''
fval=''
然后你必须覆盖getsection
函数来获取嵌套数据。