Nob*_*ion 8 python dictionary configparser
是否可以使用缩进使用 Python 'configparser' 存储多维字典(3 深)?解决方法是拆分键值,但想知道是否有一种干净的方法可以直接导入字典。
不起作用 - 在 CONFIGPARSER 中使用子选项缩进
[选项]
[子选项]
选项 1 = 值 1
选项 2 = 值 2
选项 3 = 值 3
作品 - 拆分用于子选项值
[选项]
SUB-OPTION = 'option1, value1',
'选项2,值2',
'选项3,值3'
字典值
dict['OPTIONS']['SUB-OPTION'] = {
选项1:值1,
选项2:值2,
选项3:值3,
}
ASAIK,有一个这种格式的嵌套配置文件。
我建议使用类似 json 的配置文件:
{
"OPTIONS": {
"SUB-OPTIONS": {
"option1" : value1,
"option2" : value2,
"option3" : value3,
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在代码中使用:
from ast import literal_eval
with open("filename","r") as f:
config = literal_eval(f.read())
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用 YAML(与 PyYAML)作为一个很好的配置文件。
配置文件如下:
{
"OPTIONS": {
"SUB-OPTIONS": {
"option1" : value1,
"option2" : value2,
"option3" : value3,
}
}
}
Run Code Online (Sandbox Code Playgroud)
可以使用以下方式解析:
import yaml
with open(filepath, 'r') as f:
conf = yaml.safe_load(f)
Run Code Online (Sandbox Code Playgroud)
然后您可以像在以下中一样访问数据dict:
conf['option1']['suboption1']['value1']
>> 'hello'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6288 次 |
| 最近记录: |