python 配置文件_Python:体面配置文件格式

作者在寻找一种简洁的键值对配置文件格式,支持嵌套和重复结构,同时尽量减少语法负担。JSON因过多的显式规则被排除,而YAML虽然良好但要求将作业定义为列表。作者提出使用Python源代码作为配置,因为Python字典和列表可以提供清晰的结构,并带来额外的好处,如Django设置文件的例子所示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1586010002-jmsa.png

I'd like to use a configuration file format which supports key value pairs and nestable, repeatable structures, and which is as light on syntax as possible. I'm imagining something along the lines of:

cachedir = /var/cache

mail_to = me@example.org

job {

name = my-media

frequency = 1 day

source {

from = /home/michael/Images

source { }

source { }

}

job { }

I'd be happy with something using significant-whitespace as well.

JSON requires too many explicit syntax rules (quoting, commas, etc.). YAML is actually pretty good, but would require the jobs to be defined as a YAML list, which I find slightly awkward to use.

解决方案

I think YAML is great for this purpose, actually:

jobs:

- name: my-media

...

- name: something else

...

Or, as a dict instead of list:

jobs:

my-media:

frequency: 1 day

...

something-else:

frequency: 2 day

...

Another thing to consider, which you might not have, is using Python source for the configuration. You can nest Python dicts and lists in a very readable manner and it provides multiple unexpected benefits. Django uses Python source for its settings files, for example.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值