繁体   English   中英

ConfigParser获取给定值的密钥

[英]ConfigParser Get Key on given Value

使用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

有时,我需要根据给定的值读取“键”。 是否有任何内置函数根据给定的VALUE来获取KEY或任何替代方法?

print config.FUNCTIONXYZ("NODE", "node22")
>>>192.168.31.22

谢谢。

不,没有直接的方法。 在内部, ConfigParser将配置文件读取到嵌套字典中,并且在每个部分中,键都映射到值,而不是相反。 坦白说,我不确定为什么要这么做,但是我怀疑这不是一个普遍的要求:)

但是,自己实现很容易:

# items in section 'NODE': key, value pairs
for key, value in config.items('NODE'):
  if value == WHAT_I_NEED:
    print key

如果需要在大型配置上进行许多此类查找,请考虑首先将items放入字典中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM