python - 如何使用 argsparse 使具有相同影响的脚本选项出现在同一 'help' 行中

标签 python

我正在使用 argsparse 来解析传递给我的 python 脚本的选项。

我想启用传递“-a”,并允许传递“-b”具有相同的效果。

没问题,我将调用 parser.add_argument() 两次,并使用相同的描述:

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

关于python - 如何使用 argsparse 使具有相同影响的脚本选项出现在同一 'help' 行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196478/

相关文章:

python - 是否有可能对 Django 进行反向修补?

Python:当从单独的文件中提取元素定位器信息时,使用 Webdriver 时为 "__init__() takes 2 positional arguments but 3 were given”

python - 通过唯一标签合并 networkx 中的两个网络映射

python - 使用 NLTK 库对一堆 txt 文件使用 TF-IDF 进行标记化和词形还原

python - 从表格图像中提取单个字段以使用OCR精益求精

python - Python 中的快速 http 查询

python - 使用 Python 字典在 Python 中合并 CSV 文件

python - 如何导入自定义 json 模块而不是 python 2.7 中的默认模块?

python - 在 Python GUI 中嵌入音频、视频

python - 如何从一个CSV文件中读取多条记录?