我需要使用使用等号的键值对的嵌套HTML样式标记的配置文件。
我喜欢Python方法,允许我阅读这些文件,添加,删除或修改部分,以及编写更新的文件。
文件如下:
<tag1>
key1=value1
key2=value2
<tag2>
key3=value3
</tag2>
<tag2>
key3=value four
</tag2>
</tag1>
所以它不是一个HTML或XML文件,也不是Windows INI文件。等号周围没有空格,文件中有一些似乎被忽略的随机空行,键值对中的值不使用引号,可能有嵌入空格。
我找不到这个确切文件结构的定义或名称,但我发现很难集中搜索,所以我可能错过了一些明显的东西。
这是公认的标准文件结构吗?如果是这样,它叫什么?
我很欣赏任何关于哪些库可以强制使用这种结构的指示,如果它们在docco中不易获得,可能会有一些例子。
感谢。
答案 0 :(得分:0)
为了保存配置文件,您可以在python中使用configparser
模块。这样可以非常轻松地在您的应用中阅读配置信息。
对于这样的配置文件: -
[installation]
library=%(prefix)s/lib
include=%(prefix)s/include
bin=%(prefix)s/bin
prefix=/usr/local
[debug]
log_errors=true
show_warnings=False
[server]
port: 8080
nworkers: 32
pid-file=/tmp/spam.pid
root=/www/root
您可以阅读此配置文件,如下所示:
from configparser import ConfigParser
cfg = ConfigParser()
cfg.read('config.ini')
['config.ini']
cfg.sections()
['installation', 'debug', 'server']
cfg.get('installation','library')
'/usr/local/lib'
cfg.getboolean('debug','log_errors')
True
cfg.getint('server','port')
8080
cfg.getint('server','nworkers')
32
print(cfg.get('server','signature'))
如果您只想使用那种html配置,请结帐xml.etree
模块。它提供广泛的功能。