据我所知,Python中的ConfigParser旨在处理来自Microsoft的旧的nt风格*.ini
文件。无论如何,对于*.properties
文件使用ConfigParser似乎也是一种不寻常的情况,因为它们具有与ini类似的结构。
在我的用例中,我想解析一个属性文件,该文件可以正常工作,手动添加一个虚拟部分,然后编辑/读取属性。无论如何,我目前正在寻找一种如何在没有包含该部分的情况下更新文件的解决方案。即configparser.write()生成一个类似于以下行的文件:
[root]
a1 = v1
a2 = v2
...
为了稍后使用该文件,需要删除虚拟剖面线。这可以删除文件的第一行,但我希望有人会知道利用configparser方法的更好的解决方案。提前致谢。
答案 0 :(得分:0)
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。
https://docs.python.org/3.3/library/configparser.html#ConfigParser.RawConfigParser