mir*_*e2k 8 python configuration parsing config configuration-files
我想使用一种配置文件格式,它支持键值对和可嵌套的,可重复的结构,并且尽可能地使用语法.我想象的是:
cachedir = /var/cache
mail_to = me@example.org
job {
name = my-media
frequency = 1 day
source {
from = /home/michael/Images
source { }
source { }
}
job { }
Run Code Online (Sandbox Code Playgroud)
我对使用重要空白的东西感到满意.
JSON需要太多明确的语法规则(引用,逗号等).YAML实际上非常好,但是需要将作业定义为YAML列表,我发现使用起来有些尴尬.
Eli*_*sky 13
我认为YAML非常适合这个目的,实际上:
jobs:
- name: my-media
...
- name: something else
...
Run Code Online (Sandbox Code Playgroud)
或者,作为dict而不是list:
jobs:
my-media:
frequency: 1 day
...
something-else:
frequency: 2 day
...
Run Code Online (Sandbox Code Playgroud)
您可能没有考虑的另一件事是使用Python源进行配置.您可以以非常易读的方式嵌套Python dicts和列表,并提供多种意想不到的好处.例如,Django将Python源用于其设置文件.
Tam*_*más 10
由于Python的内置configparser模块似乎不支持嵌套部分,我首先尝试使用ConfigObj.(请参阅此处的介绍性教程).根据其主页,这是一组值得一提的功能:
ConfigObj被Bazaar,Trac,IPython,matplotlib和许多其他大型Python项目使用,所以它看起来非常成熟和稳定(虽然我自己从未使用它).
| 归档时间: |
|
| 查看次数: |
8648 次 |
| 最近记录: |