我有一个调用其插件的特定配置文件.可以将参数传递给这些插件.此配置文件还允许我在运行时调用任意命令.
插件使用了许多参数:其中一个是-h并且它不代表--help.现在,我的问题是我想调用我自己的Python脚本以及传递一些参数.我正在使用argparse,并希望与配置的其余部分保持一致,我创建了一个-h标志.令我惊讶的是,argparse只是给了我argparse.ArgumentError: argument -h/--help: conflicting option string(s): -h而不是自己创业.
有没有办法阻止这种情况发生?
我很清楚,大多数人都希望-h提供帮助,但这是我自己的脚本,我想我比argparse devs更清楚我想要使用标志.
dea*_*dpa 22
在argparse文档中查找ArgumentParser参数.有一个名为add_help,默认为True.
parser = argparse.ArgumentParser('Cool', add_help=False)
parser.add_argument('-h', '--hi', action='store_true', dest='hi')
Run Code Online (Sandbox Code Playgroud)
这按预期工作.
wim*_*wim 10
有一个kwarg压制那些东西(docs).
像这样创建你的解析器:
parser = argparse.ArgumentParser(prog='PROG', add_help=False)
Run Code Online (Sandbox Code Playgroud)
Alc*_*aro 10
如果您为 ArgumentParser 提供一个 conflict_handler="resolve" 参数,则添加您自己的 -h 将覆盖现有参数,同时保持 --help 功能。
#!/usr/bin/env python3
import argparse
parse = argparse.ArgumentParser(conflict_handler="resolve")
parse.add_argument("-h", "--hello")
print(parse.parse_args())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7230 次 |
| 最近记录: |