Я хотел бы иметь следующий синтаксис:Python: argparse необязательных аргументов без дефисов
python utility.py file1 FILE1 file2 FILE2
где file1 и file2 необязательные аргументы. Это просто, чтобы сделать его работать с этим синтаксисом:
python utility.py --file1 FILE1 --file2 FILE2
использованием
parser.add_argument('--file1',type=file)
parser.add_argument('--file2',type=file)
однако, если я удалю черточки, argparse начинает интерпретируют это как позиционную, а не необязательный аргумент ...
Другими словами, можно ли конкретно указать argparse, является ли аргумент необязательным или позиционным, чтобы у меня были необязательные параметры без тире?
Этот синтаксис (без тире) не сбивает с толку, как ад! Существует причина, по которой существует конвенция. –
@MartijnPieters: это может сбивать с толку, но для некоторых научных приложений это стандарт ... [пример] (http://www.ccp4.ac.uk/html/refmac5/description.html) – jvm
@MartijnPieters: counterexample: интерфейс командной строки 'git' или' svn'. –