我有一个由python脚本使用的属性文件,如下所示:
from configparser import ConfigParser
config = ConfigParser()
config['section'] = {'a': 'value1',
'b': 'value2',
'c': 'value3',
'd': 'value4',
'e': 'value1'}
with open('/path/to/propFile_autolaunch.ini', 'w') as f:
config.write(f)
在我的python脚本中,我想解析section
部分中的所有变量,现在我用下面的代码段手动解析:
# imports
from configparser import ConfigParser
propFile = '/path/to/propFile_autolaunch.ini'
propParser = ConfigParser()
propParser.read(propFile)
# parse the variables manually
var_a = propParser.get('section', 'a')
var_b = propParser.get('section', 'b') # then I repeat this for all options
最后我需要解析section
节中的所有选项,所以我想知道是否有办法将整个section
节解析到一个字典中(例如d_params
),这样我就可以用一个命令解析该dict中的所有变量,例如:
for key, val in d_params.items():
exec(key + '=val')
显然,我可以在python脚本的字典中声明变量,这样我就可以完全避免使用属性文件,但问题是,我的属性文件中有多个部分,所以我希望为任何配置保留它,而不是在python脚本中为单个部分硬编码变量。
1条答案
按热度按时间bqf10yzr1#
如果我理解你的问题,你想在一个操作中把一个. ini文件中的节转换成一个字典,而不是一次构造一个字典。如果是这样,那么我相信下面的代码片段会解决你的问题。具体来说,一个ini文件节可以直接用作
dict
初始化器,如下所示:输出: