我有一个cfg文件,其中有10个部分..每个部分都有类似的字段。
[sec1]
id:...
[sec2]
id..
...
所以现在......我正在做类似......
config_instance = ConfigParser.ConfigParser()
id1 = config_instance.get("sec1","id")
id2 = config_instance.get("sec2","id")
等等
有没有更好的pythonic方法来做到这一点..它会自动读取所有部分并提取此功能?
由于
答案 0 :(得分:2)
如果所有部分都有它(或者如果您知道具有id字段的部分列表),您可以执行以下操作:
sections=config_instance.sections()
ids=[config_instance.get(sec,'id') for sec in sections]
如果你愿意,你可以解压缩它们,但我更喜欢这个列表:
id1,id2,... = ids
或者,您可以将其作为字典(python 2.7 +):
ids={ sec:config_instance.get(sec,'id') for sec in sections }
print ids['sec1']
这实际上取决于你想要怎么做。
答案 1 :(得分:1)
创建一个字典,其中部分为键,ID为值。
config = ConfigParser.ConfigParser()
ids = {}
for section in config.sections():
if config.has_option(section, "id"):
ids[section] = config.get(section, "id")