chciałbym mieć następującą składnię:Python: argparse opcjonalne argumenty bez kresek
python utility.py file1 FILE1 file2 FILE2
gdzie plik1 i plik2 są opcjonalne argumenty. To proste, aby pracować z tej składni:
python utility.py --file1 FILE1 --file2 FILE2
użyciu
parser.add_argument('--file1',type=file)
parser.add_argument('--file2',type=file)
jednak, jeśli usunąć kresek argparse zaczyna interpretować go jako pozycyjna zamiast opcjonalnego argumentu ...
Innymi słowy, czy można konkretnie powiedzieć argparse, czy argument jest opcjonalny czy pozycyjny, abym mógł mieć opcjonalne parametry bez myślników?
Ta składnia (bez kresek) jest myląca jak diabli! Istnieje powód, dla którego konwencja istnieje. –
@MartijnPieters: może to być mylące, ale dla niektórych zastosowań naukowych jest to standard ... [przykład] (http://www.ccp4.ac.uk/html/refmac5/description.html) – jvm
@MartijnPieters: Counterprzykład: interfejs wiersza poleceń 'git' lub' svn'. –