【发布时间】:2013-06-06 17:13:41
【问题描述】:
有一个问题询问它们来自哪里,接受的答案是一堆教程和源代码的链接。 Explanation for argparse python modul behaviour: Where do the capital placeholders come from?
这些对我都没有帮助,我想要么摆脱它们,要么知道它们的目的。
例如这样的一行:
parser.add_argument('-c', '--chunksize', type=int, help='chunk size in bits')
产生这样的垃圾:
optional arguments:
-h, --help show this help message and exit
-c CHUNKSIZE, --chunksize CHUNKSIZE
chunk size in bits
如果我尝试使用空的元变量字符串:
parser.add_argument('-c', '--chunksize', metavar='', type=int, help='chunk size in bits')
逗号后面有个空格:
optional arguments:
-h, --help show this help message and exit
-c , --chunksize chunk size in bits
【问题讨论】:
-
我认为
argparse.SUPPRESS可以解决问题,但显然不是...... -
你想要的输出是什么?
-c chunksize, --chunksize chunksize而不是-c CHUNKSIZE, --chunkesize CHUNKSIZE?然后metavar = ('chunksize')会这样做。那个论点根本没有帮助热线?help=argparse.SUPPRESS -
对于它的价值,我认为默认行为更好——更明确哪些选项需要参数(以及多少)。当然,我不是在编写程序,所以我在这里的输入可能无关紧要(这很好)——我只是在表达我对此事的感受。
-
@Nisan.H -- 我认为 OP 正在寻找
-c, --chunksize ______ chunksize in bits -
另外,请查看 docs.python.org/dev/library/argparse.html#formatter-class 的 MetavarTypeHelpFormatter,如果这不起作用,您可以获取源代码并将您自己的格式化程序子类化,以按照您想要的方式进行格式化