Я проверял этот файл Python , где, кажется, используется короткий аргумент с 2 символами.
parser.add_argument(
'-gt',
'--gtfolder',
dest='gtFolder',
metavar='',
help='folder containing your ground truth bounding boxes')
Я думал, что короткие аргументы должны содержать только один символ, и это меня удивило.Действительно, в документации говорится, что короткие опции (опции длиной всего один символ) ... .
С другой стороны, кажется, что код работает (по крайней мере,что касается 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')