我有以下python:
import argparse
parser = argparse.ArgumentParser()
requiredNamed = parser.add_argument_group('required named arguments')
requiredNamed.add_argument('-h', '--host_name', required=True, help="Host IP address")
args = parser.parse_args()
这会产生以下错误:
argparse.ArgumentError: argument -h/--help: conflicting option string(s): -h
除-h
外,每个字母都可以正常工作。它似乎是为--help保留的。我怎样才能使它不被-h
自动保留?
答案 0 :(得分:6)
ArgumentParser
使用可选参数add_help
,您可以设置False
。
在add_help
的文档中:
有时,禁用添加此帮助选项可能很有用。这可以通过将
False
作为add_help=
参数传递给ArgumentParser
来实现:>>> parser = argparse.ArgumentParser(prog='PROG', add_help=False) >>> parser.add_argument('--foo', help='foo help') >>> parser.print_help() usage: PROG [--foo FOO] optional arguments: --foo FOO foo help