使用ConfigParser我可以轻松读取密钥的值,如下例所示 -
#config.cfg
[NODE]
192.168.31.22 = node22
192.168.31.23 = node23
192.168.31.26 = node26
#PYTHON CODE
config = ConfigParser.RawConfigParser()
config.readfp(open("config.cfg"))
print config.get("NODE", "192.168.31.22")
>>>node22
有时我需要根据给定的值读取“key”。 是否有任何内置函数可以根据给定的VALUE或任何解决方法来获取KEY?
print config.FUNCTIONXYZ("NODE", "node22")
>>>192.168.31.22
谢谢。
答案 0 :(得分:1)
不,没有直接的方法。在内部,ConfigParser
将配置文件读入嵌套字典,并在每个部分中将键映射到值,而不是相反。坦率地说,我不确定你为什么要这样,但我怀疑这不是一个常见的要求:)
然而,实现自己很容易:
# items in section 'NODE': key, value pairs
for key, value in config.items('NODE'):
if value == WHAT_I_NEED:
print key
如果您需要在大型配置上进行多次此类查找,请考虑先将items
放入dict中。