为什么Python 3中有{Raw,Safe}ConfigParser?

问题描述 投票:0回答:2

我很惊讶有 3 种不同的形式:

RawConfigParser
SafeConfigParser
ConfigParser
docs)。我读到了差异,但为什么不是每个人都使用
SafeConfigParser
,因为它看起来很安全?我可以理解,对于 Python 2,保留其他两个是为了向后兼容。

更新:在Python 3.2中,SafeConfigParser已重命名为ConfigParser,并且旧的ConfigParser已被删除(来源:Python 3.2的新闻)。

python python-3.x backwards-compatibility
2个回答
14
投票

简而言之,使用

configparser.SafeConfigParser

引用文档,SafeConfigParser“实现了神奇插值功能的更理智的变体。这种实现也更可预测。如果新应用程序不需要与旧版本的Python兼容,则应该更喜欢这个版本.”

旧的 ConfigParser 似乎仍然存在于 Python 3 中以实现向后兼容性:并非所有内容都向后不兼容!


0
投票

SafeConfigParser

 实际上在 3.2 中已弃用,但在 3.11.0-alpha-1 中被删除。

这里是变更日志:

https://docs.python.org/3/whatsnew/changelog.html#python-3-11-0-alpha-1

bpo-45173:从 configparser 模块中删除:SafeConfigParser 类、ParsingError 类的 filename 属性、ConfigParser 类的 readfp() 方法,自 Python 3.2 起已弃用。

© www.soinside.com 2019 - 2024. All rights reserved.