我想将帮助消息中-args选项后面的值更改为“ arg1 arg2 ..”,而不是“ [arg [arg ...]]”。
我尝试更改metavar值,但它只会将输出更改为“ [[arg1 arg2 ... [arg1 arg2 ... ...]]]”。
这是我的代码:-
arg_parser.add_argument('-args', action='store', default=None, nargs='*' ,dest='arg',
help = "arguments passed to the program.")
,确切的输出是:-
-args [arg [arg ...]]
arguments passed to the program.
我想要的输出:-
-args [arg1 arg2 ..] arguments passed to the program
答案 0 :(得分:0)
您可以通过删除args
使-
成为位置参数,而不是可选参数:
parser.add_argument('args', nargs='*',
help = "[arg1 arg2 ..] arguments passed to the program.")
由于您的nargs
设置为*
,因此在何时可以成功处理命令行方面,这实际上并没有任何改变。
不显示位置参数的可选值([arg [arg ...]]
)列表,仅显示名称。如上使用help
来输入您的自定义文本,然后得到您想要的东西:
positional arguments:
args [arg1 arg2 ..] arguments passed to the program.
答案 1 :(得分:0)
使用元组'metavar =('arg1','arg2')'应该显示
new Array(…)
[]和...固定为'*'。 “ nargs = 2”产生的显示更简单。
除此之外,您还必须将Formater子类化并进行手术。