什么更好,ConfigObj或ConfigParser?

时间:2010-08-06 00:48:32

标签: python configparser configobj

哪个更适合为Python程序,内置模块(ConfigParser)或独立项目(ConfigObj)创建设置文件?

3 个答案:

答案 0 :(得分:17)

我最近从configparser切换到configobj,我很高兴这样做。

对我来说,最大的区别是configobj的validator。它让我非常容易/简洁地(1)定义每个条目的类型和可接受的值,以及(2)设置默认值。

这两个功能为我节省了大量代码,并防止了很多错误。另外,就我的代码的复杂性而言,使用configobj实际上没有额外的开销,而且库非常小。

答案 1 :(得分:5)

根据您的Python版本,这是否会回答您的问题可能会引起争议,但在简短地查看ConfigParser和ConfigObj后,我选择了configparser,即ConfigParser的Python 3版本。 There’s also a backported version on PyPI.

ConfigParser对我来说似乎很麻烦,甚至 - 我敢说 - unpythonic,而且在ConfigObj中我遇到了一个深奥的列表问题(我更喜欢能够垂直对齐它们,因为我的版本很长),以及两年多前发布的最新版本没有帮助。然而,configparser的API看起来和ConfigObj的API一样(尽管不是功能丰富),当我们转向Python 3时,我可能很容易切换到内置版本。

顺便说一句,它到目前为止效果很好。

答案 2 :(得分:4)

到目前为止,我在使用它的任何时候都发现ConfigParser足够了。此外,它是一个附带的电池而不是第三方库。

虽然我不得不承认,ConfigObj文档中的代码示例使得ConfigParser在比较中看起来非常糟糕。对于一个大量操作.ini文件的脚本,我更喜欢它。

相关问题