Python 如何使用argsparse,使具有相同效果的脚本选项显示在相同的';帮助';线
我正在使用Python 如何使用argsparse,使具有相同效果的脚本选项显示在相同的';帮助';线,python,Python,我正在使用argsparse解析传递给python脚本的选项 我想启用传递'-a',并允许传递'-b'具有相同的效果 没问题,我将调用解析器。添加两次参数(),描述相同: parser.add_argument('-a', help='do something') parser.add_argument('-b', help='do something') 但现在,当显示脚本帮助时,我将同时看到这两种帮助: -a do something -b do s
argsparse
解析传递给python脚本的选项
我想启用传递'-a',并允许传递'-b'具有相同的效果
没问题,我将调用解析器。添加两次参数()
,描述相同:
parser.add_argument('-a', help='do something')
parser.add_argument('-b', help='do something')
但现在,当显示脚本帮助时,我将同时看到这两种帮助:
-a do something
-b do something
这太难看了
我更喜欢{-a,-b}或{-a | b)
我在argsparse文档中找不到解决这个问题的任何方法(诚然,这不是关键问题)。您可以尝试将两个参数传递给同一个
add_argument
调用:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-a', '-b', help='do something')
parser.parse_args(['--help'])
输出
usage: test.py [-h] [-a A]
optional arguments:
-h, --help show this help message and exit
-a A, -b A do something
在进入选项解析器之前,您可以将这两个参数发送到同一个调用。请确保您至少看到了这一点。多么简单。谢谢。请稍等……现在访问“args.b”会产生运行计时器错误!是的,您只能访问“args.a”,即使您调用了“-b”选项:
python test.py-b“my_参数”
参数dict将包含:{'a':'my_argument'}
谢谢,这很有道理。