当我使用Python的argparse或optparse命令行参数解析器时,任何参数的唯一前缀都被视为有效,例如:
$ ./buildall.py --help
usage: buildall.py [-h] [-f]
Build all repositories
optional arguments:
-h, --help show this help message and exit
-f, --force Build dirty repositories
使用--help
、--hel
、--he
来获取帮助选项,使用--forc
和--fo
来使用强制选项。
是否可以关闭此行为?我希望在参数不完整时获得错误消息。
allow_abbrev
在 Python 3.5 之前的版本中不可用。 - chepnerargparse.py
文件,并将其放置在自己的目录中(这样它就具有加载优先级)。该模块是自包含的,因此它是一个即插即用的替代品。我所知道的唯一的Py2/3不兼容性是HelpFormatter
代码中的yield from get_subactions()
行。 - hpauljoptparse
仍然存在,并且将在很长一段时间内存在,但不要期望有任何变化。argparse
正在进行更改,但速度非常缓慢。开发人员非常谨慎地处理向后兼容性问题,因此3.5只得到了几个argparse
补丁。 - hpaulj