.properties文件的Python配置解析器

.properties文件的Python配置解析器,python,configparser,Python,Configparser,众所周知,Python中的ConfigParser是为处理来自Microsoft的旧nt样式的*.ini文件而设计的。无论如何,对于*.properties文件也使用ConfigParser似乎是一种常见的情况,因为它们的结构与ini文件类似 在我的用例中,我想解析一个属性文件,它可以手动添加一个虚拟部分,然后编辑/读取属性。无论如何,我目前正在寻找一个解决方案,如何更新文件而不包括部分。例如,configparser.write()生成一个类似于以下行的文件: [root] a1 = v1

众所周知,Python中的ConfigParser是为处理来自Microsoft的旧nt样式的
*.ini
文件而设计的。无论如何,对于
*.properties
文件也使用ConfigParser似乎是一种常见的情况,因为它们的结构与ini文件类似

在我的用例中,我想解析一个属性文件,它可以手动添加一个虚拟部分,然后编辑/读取属性。无论如何,我目前正在寻找一个解决方案,如何更新文件而不包括部分。例如,configparser.write()生成一个类似于以下行的文件:

[root]
a1 = v1 
a2 = v2
...

为了以后使用该文件,需要删除dummysection行。这可以通过删除文件的第一行来完成,但我希望任何人都知道利用configparser方法的更好的解决方案。提前谢谢

ConfigParser对象有一个方法列表,可以集体使用这些方法返回每个节的配置元素的值。下面的代码可用于将特定节的配置元素转换为字典以供以后使用

import ConfigParser
config = ConfigParser.ConfigParser()
rc = config.read('test.properties')
sectionList = config.sections()
if 'root' in sectionList:
    elemDict = dict(config.items('root'))
ConfigParser手册页面提供了有关这方面的更多信息。以下页面适用于python 3.3


您是否尝试过使用ConfigParser的.items例程并为每个部分创建字典。
mydict=dict(ConfigParser.items(section))
代码将为每个部分返回一个字典,如果这是您想要了解的想法,但实际上这不是我想要的。我想要的只是一个configparser,它可以处理.properties文件,而不需要任何部分。使用dummysection的变通方法很好,但在编辑配置值后,必须将文件恢复到以前的原始语法。在表达式中,保存的文件中应缺少[root]!哦,我明白了,否则的话,它可能是