python-3.x - 格式化 ArgParse 帮助菜单

标签 python-3.x command-line-arguments argparse

我正在尝试为 ArgParse 创建一个更有吸引力的菜单,主要是在显示帮助菜单时保持一致的格式。我了解如何使用各种属性来制作必需或不需要的内容,但不确定如何格式化文本以使它们保持一致。

我当前的相关代码如下所示

import argparse

parser = argparse.ArgumentParser(prog='myprogram', description='Select which files to parser and where to save them.')

parser.add_argument('-f', metavar='--file', type=str, help='select a single file to process', required=False)
parser.add_argument('-d', metavar='--dir', type=str, help='filepath directory', required=False)

args = parser.parse_args()

运行命令 filename.py -h 时此代码的输出是 Screen capture of terminal output

我想做的只是在 -f 和 --file 以及任何其他命令之间添加一个逗号。我知道这是相当小的细节,但我能说什么我喜欢一致地格式化内容。

我在我的机器上运行 Python v3.8.2 和 Argparse v1.4.0

最佳答案

这应该说明主要的帮助格式化可能性(无需子类化帮助格式化程序):

In [1]: import argparse
In [2]: parser=argparse.ArgumentParser()
In [3]: parser.add_argument('-f','--foo',action='store_true', help='a store true
   ...: ');
In [4]: parser.add_argument('-b','--bar',help='basic store');
In [5]: parser.add_argument('-x','--xxx', metavar='',help='blank metavar');
In [6]: parser.print_help()
usage: ipython3 [-h] [-f] [-b BAR] [-x]

optional arguments:
  -h, --help         show this help message and exit
  -f, --foo          a store true
  -b BAR, --bar BAR  basic store
  -x , --xxx         blank metavar

关于python-3.x - 格式化 ArgParse 帮助菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68399880/

相关文章:

Python argparse - 带有命令选项的选项

python - 使用 argparse 传递给 python 脚本的文件类型检查参数

python - 无法 pickle 本地对象 'ArgumentParser.__init__.<locals>.identity

python - 匹配嵌套字典中的值

python - 如何限制对未定义的类/实例变量的访问?

python - 在 Django 管理命令中添加虚假换行符

python - 如何在 Python 中计算多列 CSV 文件中日期之间的平均时间?

c - 在数组中存储 token

c - 如何将 argv[] 值从 main 传递到外部函数

terminal - 从命令行调用 PHP 脚本中的函数