ConfigObj和ConfigParser哪个更好?

22 投票
3 回答
12291 浏览
提问于 2025-04-16 02:24

在为Python程序创建设置文件时,使用内置模块(ConfigParser)和独立项目(ConfigObj)哪个更好呢?

3 个回答

4

到目前为止,我发现ConfigParser在我使用的时候已经足够用了。而且,它是自带的工具,不需要额外下载第三方库。

不过,我得承认,ConfigObj文档里的代码示例让ConfigParser看起来真的差很多。如果是一个需要大量处理.ini文件的脚本,我可能会更喜欢使用ConfigObj。

5

根据你使用的Python版本,这个问题的答案可能会有争议。不过,我简单看了一下ConfigParser和ConfigObj,最后选择了configparser,这是Python 3版本的ConfigParser。在PyPI上还有一个回溯版本。

我觉得ConfigParser用起来有点麻烦,甚至可以说有点不符合Python的风格。而在使用ConfigObj时,我遇到了一个比较复杂的问题,主要是关于列表的(我希望能把它们竖着对齐,因为我的列表很长),而且最新版本已经发布超过两年了。相比之下,configparser的接口看起来很不错,虽然功能没有ConfigObj那么丰富,但当我们转到Python 3时,我可能可以很容易地切换到内置版本。

顺便说一下,到目前为止,它的表现很好。

20

我最近从configparser切换到了configobj,感觉非常开心。

对我来说,最大的不同就是configobj的验证器。这个功能让我可以很简单地(1)定义每个条目的类型和可以接受的值,以及(2)设置默认值。

这两个功能帮我省了很多代码,也避免了很多出错的情况。而且,使用configobj并不会让我的代码变得更复杂,这个库也很小巧。

撰写回答