首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态ConfigParser (Python)

动态ConfigParser (Python)
EN

Stack Overflow用户
提问于 2016-06-09 17:56:37
回答 1查看 1.2K关注 0票数 2

我想知道是否有一种方法可以使用Python的ConfigParser来处理动态配置文件。所谓动态,我的意思是配置文件在结构上是不固定的。

例如,我可以使用下面的配置文件。

代码语言:javascript
复制
[SectionA]
FieldA1 = stringA1
FieldA2 = stringA2
FieldA3 = stringA3

[SectionB]
FieldB1 = stringB1
FieldB2 = stringB2
FieldB3 = stringB3

我也可以有下面的配置文件(一个额外的字段值添加到B节中)。

代码语言:javascript
复制
[SectionA]
FieldA1 = stringA1
FieldA2 = stringA2
FieldA3 = stringA3

[SectionB]
FieldB1 = stringB1
FieldB2 = stringB2
FieldB3 = stringB3
FieldB4 = stringB4

应该使用相同的代码来解析这两个配置文件。到目前为止,我只看到字段是硬编码的示例,比如给定here的示例,它需要每个部分中的字段的先验知识。

代码语言:javascript
复制
import configparser
>>> config = configparser.ConfigParser()
>>> config['DEFAULT'] = {'ServerAliveInterval': '45',
...                      'Compression': 'yes',
...                      'CompressionLevel': '9'}

是否有一种方法可以动态读取每个部分中的字段/值?

EN

回答 1

Stack Overflow用户

发布于 2016-06-09 18:19:07

来自pymotw.com

代码语言:javascript
复制
from configparser import SafeConfigParser

parser = SafeConfigParser()
parser.read('config.ini')

for section_name in parser.sections():
    print ('Section:', section_name)
    print ('  Options:', parser.options(section_name))
    for name, value in parser.items(section_name):
        print(name, value)
    print()

因为我看到你在使用configparser,所以我刚刚为python3做了一个改编。享受吧!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37722657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档