当我使用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
一起使用,对于force选项使用--forc
和{
这种行为能被关闭吗?我想得到不完整参数的错误消息。在
在Python3.5之前,您必须monkeypatch一个未记录的
ArgumentParser
方法。不要实际使用它;它未经测试,可能无法与Python的所有版本(或任何版本)一起使用。仅供娱乐之用。在对于我们这些仍然坚持使用python2.7的人来说,这是本地禁用前缀匹配的最小更改:
现在不用argparse.ArgumentParser,只需使用SaneArgumentParser。与chepner的回答不同,这不需要对argparse模块进行任何修改。这也是一个小得多的变化。希望其他陷入python过去的人会发现这很有用。在
python3.5中只添加了禁用缩写long选项的功能。从^{} documentation :
因此,如果您使用Python3.5,可以使用
allow_abbrev=False
创建解析器:如果您使用optparse或pre-3.5argparse,那么您只需要使用缩写选项。在
相关问题 更多 >
编程相关推荐