什么更好,ConfigObj或ConfigParser?

Apo*_*hon 22 python configparser configobj

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

rdc*_*ers 19

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

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

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


Den*_*her 5

根据您的Python版本,这可能是有争议的,这是否回答了您的问题,但在简短地查看ConfigParser和ConfigObj后,我选择了configparser,即ConfigParser的Python 3版本.PyPI上还有一个backported版本.

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

顺便说一句,它到目前为止工作得很好.


小智 4

到目前为止,我发现 ConfigParser 每次使用它都足够了。另外,它是附带的电池,而不是第三方库。

尽管我不得不承认,相比之下,ConfigObj 文档中的代码示例使 ConfigParser 看起来非常糟糕。对于大量操作 .ini 文件的脚本,我可能更喜欢它。