22

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

4

3 回答 3

20

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

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

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

于 2010-12-18T02:00:18.677 回答
5

根据您的 Python 版本,这是否能回答您的问题可能存在争议,但在简要了解了 ConfigParser 和 ConfigObj 之后,我选择了 configparser,即 ConfigParser 的 Python 3 版本。PyPI 上还有一个向后移植的版本。

ConfigParser 对我来说似乎很麻烦,甚至可能——我敢说——unpythonic,并且使用 ConfigObj 我遇到了一个深奥的列表问题(我希望能够垂直对齐它们,因为我的会很长),但它没有两年多以前发布的最新版本无济于事。然而,configparser 的 API 看起来和 ConfigObj 的 API 一样漂亮(尽管功能不那么丰富),当我们迁移到 Python 3 时,我可能可以轻松切换到内置版本。

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

于 2012-10-19T13:21:16.323 回答
4

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

虽然我不得不承认,ConfigObj 文档中的代码示例让 ConfigParser 看起来真的很糟糕。对于大量操作 .ini 文件的脚本,我可能更喜欢它。

于 2010-08-06T01:09:56.560 回答