互斥组中的Python argparse帮助选项

互斥组中的Python argparse帮助选项,python,python-2.7,argparse,Python,Python 2.7,Argparse,Python 2.7的模块包括一个命令行帮助选项,默认情况下,只要命令行选项中出现-h或--help时,该选项就会打印一条用法消息。默认情况下,帮助选项可以与任何其他命令行选项一起传递。例如: script.py [-h] [-opt1 arg1 | -opt2 arg2] 如果存在-h可选参数,则忽略所有其他参数并打印帮助消息 有没有一种方法可以改变这种行为,使得-h必须单独使用,就像将任何其他可选参数放在互斥组中一样?出于好奇,如果它们违反了这个约束,你会怎么做?打印帮助?:)@肯尼奥斯特

Python 2.7的模块包括一个命令行帮助选项,默认情况下,只要命令行选项中出现
-h
--help
时,该选项就会打印一条用法消息。默认情况下,帮助选项可以与任何其他命令行选项一起传递。例如:

script.py [-h] [-opt1 arg1 | -opt2 arg2]
如果存在
-h
可选参数,则忽略所有其他参数并打印帮助消息


有没有一种方法可以改变这种行为,使得
-h
必须单独使用,就像将任何其他可选参数放在
互斥组中一样?

出于好奇,如果它们违反了这个约束,你会怎么做?打印帮助?:)@肯尼奥斯特罗姆那是…(畏缩)。。。可能是最合乎逻辑的事情。嗯,我的想法也是哈哈。您可以将
add\u help
设置为
False
,并使用
-h
标志定义自己的流程。@busybear我现在在文档中看到了
add\u help=False
参数。谢谢在我看来,
-h
应该单独使用似乎是一致的,但正如肯尼所指出的,这是一个没有实际意义的观点!假设您的用户开始编写命令行,然后有一些问题或未知问题。他们可以在援助中加上一个“-h”并寻求帮助。无需删除之前的所有字符串。无论他们到目前为止写了多少,帮助请求都具有优先权。使用子Parser时,此行为会有所修改。