格式化 ArgParse 帮助菜单

Formatting the ArgParse help menu

我正在尝试为 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 是

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

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

这应该说明主要的帮助格式化可能性(没有子类化 helpformatter):

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