php Yaconf可以读取.ini文件
a=123
b=45
c.e.f=987
输出
['a' => 123]
['b' => 45]
['c' =>['e'=>['f'=>987]]]
可以像这样阅读python吗?
thx
嗨,全部,可能我没有好好描述这个问题,对不起
首先,我确实尝试过configparser,它只解析config 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',
},
}
}
希望你能知道我说的话
答案 0 :(得分:0)
是的,这是可能的。我不会那么深。使用belove片段作为样板。
$ cat some.ini
a=123
b=45
c.e.f=987
...
>>>h = {}
>>>l = []
>>> with open('some.ini') as inifile:
... for lines in inifile.readlines():
... k,v = lines.split('=')
... h[k] = int(v)
... # or l.append([lines.strip()])
>>> h
{'a': 123, 'c.e.f': 987, 'b': 45}
你唯一需要做的就是将'c.e.f'解析为嵌套的dict。