允许多个字符的 argparse 选项的缩写形式

2024-01-09

我正在检查这个蟒蛇文件 https://github.com/rafaelpadilla/Object-Detection-Metrics/blob/master/pascalvoc.py#L178它似乎使用了一个包含 2 个字符的简短参数。

parser.add_argument(
    '-gt',
    '--gtfolder',
    dest='gtFolder',
    metavar='',
    help='folder containing your ground truth bounding boxes')

我认为简短的参数应该只包含一个字符,这让我感到惊讶。事实上,在文档中它指出短选项(选项只有一个字符长)... https://docs.python.org/3/library/argparse.html#option-value-syntax.

另一方面,代码似乎有效(至少就argparse选项)。

我检查了代码,如果使用简短形式,它会得到正确的参数。

python3 pascalvoc.py -gt 'path/somewhere'

我注意到的唯一故障是代码的串联版本不起作用:

python3 pascalvoc.py -gt'path/somewhere'

...错误:无法识别的参数:-gtpath/某处

所以,我的问题是为什么首先允许包含超过 1 个字符的短选项。如果不是串联版本,这可能会被忽视。此外,除了短形式中必须有一个连字符减号这一事实之外,这似乎绕过了短应该短于长的简单规则。从这个意义上说,这是功能性的(当然如果不应用串联选项):

parser.add_argument(
    '-gt-not-short-at-all-argument',
    '--gtfolder',
    dest='gtFolder',
    metavar='',
    help='folder containing your ground truth bounding boxes')

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

允许多个字符的 argparse 选项的缩写形式 的相关文章

随机推荐