在python的argparse中,当没有传递任何内容或者发生一些Argparse异常时,是否可以将帮助作为默认参数吐出?
答案 0 :(得分:1)
如果零参数应该触发帮助消息,这意味着至少有一个选项不是真正可选的。确保您至少有一个位置参数(即名称不带“ - ”前缀的参数)定义:
p = argparse.ArgumentParser()
p.add_argument("foo", help="Required argument")
然后,如果未使用foo
的参数调用脚本,则应触发使用消息。
答案 1 :(得分:0)
parser
使用sys.argv[0]
作为默认prog
值,sys.argv[1:]
作为parse_args
的输入。您也可以访问甚至修改该阵列。
import argparse
import sys
parser = argparse.ArgumentParser....
parser.add_argument...
if not sys.argv[1:]:
# parser.print_help(); parser.exit()
# or
# parser.parse_args(['-h'])
# or
sys.argv.append('-h')
args = parser.parse_args()
# your code to use args