Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用argsparse,使具有相同效果的脚本选项显示在相同的';帮助';线_Python - Fatal编程技术网

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'}
谢谢,这很有道理。