【发布时间】:2023-03-18 18:32:02
【问题描述】:
php Yaconf 可以读取 .ini 文件
a=123
b=45
c.e.f=987
输出喜欢
['a' => 123]
['b' => 45]
['c' =>['e'=>['f'=>987]]]
python 可以这样读取吗?
谢谢
大家好,可能是我没有很好地描述这个问题,抱歉
首先,我尝试了 configparser,它只解析配置 key=value。
但我会有类似a.b.c=value 的配置,例如:
[cache]
redis.master.host='10.10.10.10'
redis.master.port='6379'
redis.master.auth='xxxx'
redis.slave_1.host='10.10.10.12'
redis.slave_1.port='6389'
redis.slave_1.auth='xxxx'
所以,我会像这样阅读配置
cfger.get('cache', 'redis')
并希望得到类似的结果
{'redis': {
'master': {
'host': '10.10.10.10',
'port': '6379',
'auth': 'xxxx',
},
'slave_1': {
'host': '10.10.10.12',
'port': '6389',
'auth': 'xxxx',
},
}
}
希望你能知道我说的是什么
【问题讨论】:
-
当然可以,如果您对其进行编程的话。您是否尝试过可以向我们展示的东西?
-
@LysandrosNikolaou 感谢您的回复!我试过configparser。但是,它只是解析 key=value,而不是 key1.key2.key3=value
-
也许这会有所帮助(第四个答案)stackoverflow.com/questions/8884188/…
-
我认为您正在寻找的是 .ini 文件中的部分。你应该看看configObj。
-
@Tony_Wang,Lysandros 是对的:您提出的问题的答案是“configparser”。如果它不能解决您遇到的问题,请编辑您的问题以更清楚地提出问题,并确保说明
configparser失败的原因。 (您尝试过configparser吗?发生了什么?如果您编辑您的问题,请回答这两个问题。)