为什么使用argparse而不是optparse?
问题内容:
我注意到Python 2.7文档还包含另一个命令行解析模块。除了getopt
和optparse
我们现在有argparse
。
为什么还要创建另一个命令行解析模块?为什么要使用它代替optparse
?我应该了解一些新功能吗?
问题答案:
从python开始2.7
,optparse
已弃用,希望将来会消失。
argparse
由于其原始页面(https://code.google.com/archive/p/argparse/)上列出的所有原因而更好:
- 处理位置参数
- 支持子命令
- 允许其他可选前缀,例如
+
和/
- 处理零个或多个和一个或多个样式参数
- 产生更多有用的使用信息
- 为自定义类型和操作提供更简单的界面
PEP
389中
也提供了更多信息,它是将argparse
其纳入标准库的工具。