什么是指定配置文件的最pythonic方法?

And*_*ndy 6 python

我正在用Python编写一个守护程序脚本,并希望能够在程序期望读取的文件中指定设置(如.conf文件).标准库有configparser和xdrlib文件格式,但似乎都不是pythonic; 前者是Microsoft标准,后者是Sun Microsystems标准.

我可以写自己的,但我宁愿坚持一个众所周知的文件标准,而不是重新发明轮子.

Sea*_*ing 5

除非您有任何特别复杂的需求,否则使用configparser并没有错.它是一种简单,扁平的文件格式,很容易被许多人理解和熟悉.如果这真的让你错误的方式,总是可以选择使用JSON或YAML配置,但这些是更重量级的格式.

第三个流行的选择是只使用Python作为配置文件.这为您提供了更大的灵活性,但也增加了通过"仅"修改配置文件引入奇怪错误的几率.


Don*_*ion 2

恕我直言:永远不要碰 ConfigParser 模块,它已经过时了(读作:显然没有更新)并且有一些怪癖。评论API?忘了它!访问 DEFAULT 部分?哈哈!想知道未解析的配置字段吗?好吧,猜猜看:ConfigParser 会迭代所有配置文件,并默默地失败(掩盖),最终可能对所有错误进行压缩的异常跟踪。找出哪个错误属于哪个文件并不容易。没有嵌套的配置部分...

不如使用 CSV,然后使用 ConfigParser!

IMO:使用 Json 作为配置文件。python 数据结构和 Json 字符串表示之间非常灵活、直接的映射是可能的,并且仍然是人类可读的。顺便提一句。不同语言之间的互换非常容易。

文件中的大括号并不那么漂亮,但您不可能拥有全部!;-)