如何使用结构化字典初始化ConfigParser?
如何使用结构化字典初始化ConfigParser?
嗨,我来帮你搞定这个问题~你现在的写法之所以没输出,是因为ConfigParser的构造函数并不支持直接传入这种嵌套字典作为配置数据——你把structured_dict传给构造函数时,它其实被当成了初始化类的关键字参数(比如defaults、dict_type这类参数),根本没被当作配置内容加载进去,自然write的时候啥都没有啦。
正确的做法是用ConfigParser自带的read_dict()方法,这是Python 3.2+就支持的功能,专门用来从结构化字典加载配置。修改你的代码如下:
from configparser import ConfigParser from sys import stdout structured_dict = dict(section1=dict(option1=1, option2=2, option3=3)) config = ConfigParser() # 用read_dict加载结构化字典 config.read_dict(structured_dict) config.write(stdout)
运行这段代码后,就能得到你预期的输出:
[section1] option1=1 option2=2 option3=3
简单解释下:read_dict()方法会自动识别字典里的键作为配置节(section),每个节对应的子字典就是该节下的选项和值,完全匹配你想要的结构化数据格式~
备注:内容来源于stack exchange,提问作者KLc3088
相关产品推荐
相关产品推荐

