如何在Python的argparse中使用命令行参数-h?

时间:2016-02-01 00:11:57

标签: python argparse

我有以下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自动保留?

1 个答案:

答案 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