Python ConfigParser:如何计算特定部分中设置的选项(而不是默认
发布时间:2020-12-20 11:13:04 所属栏目:Python 来源:网络整理
导读:我有一个配置文件,我使用标准ConfigParser库中的RawConfigParser读取.我的配置文件有一个[DEFAULT]部分,后跟一个[特定]部分.当我遍历[specific]部分中的选项时,它包含[DEFAULT]下的选项,这就是要发生的事情. 但是,对于报告,我想知道该选项是在[specific]部分
我有一个配置文件,我使用标准ConfigParser库中的RawConfigParser读取.我的配置文件有一个[DEFAULT]部分,后跟一个[特定]部分.当我遍历[specific]部分中的选项时,它包含[DEFAULT]下的选项,这就是要发生的事情.
但是,对于报告,我想知道该选项是在[specific]部分还是在[DEFAULT]中设置的.有没有办法用RawConfigParser的界面做到这一点,或者我没有选择,只能手动解析文件? (我已经看了一下,我开始担心最糟糕的……) 例如 [默认] name = a 姓= b [部分] name = b 年龄= 23岁 你怎么知道,使用RawConfigParser界面,是否选项名称&姓氏是从[DEFAULT]或[SECTION]部分加载的? (我知道[DEFAULT]适用于所有人,但你可能想在内部报告这样的事情,以便通过复杂的配置文件工作) 谢谢! 解决方法
鉴于此配置文件:
[DEFAULT] name = a surname = b [Section 1] name = section 1 name age = 23 #we should get a surname value from defaults [Section 2] name = section 2 name surname = section 2 surname age = 24 这是一个程序,可以理解第1节使用默认的姓氏属性. import ConfigParser parser = ConfigParser.RawConfigParser() parser.read("config.ini") #Do your normal config processing here #When it comes time to audit default vs. explicit,#clear the defaults parser._defaults = {} #Now you will see which options were explicitly defined print parser.options("Section 1") print parser.options("Section 2") 这是输出: ['age','name'] ['age','surname','name'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |