Tôi muốn có cú pháp sau:Python: argparse đối số tùy chọn mà không cần dấu gạch ngang
python utility.py file1 FILE1 file2 FILE2
nơi file1 và file2 là đối số tùy chọn. Nó là đơn giản để làm cho nó làm việc với các cú pháp sau:
python utility.py --file1 FILE1 --file2 FILE2
sử dụng
parser.add_argument('--file1',type=file)
parser.add_argument('--file2',type=file)
Tuy nhiên, nếu tôi loại bỏ các dấu gạch ngang, argparse bắt đầu phiên dịch nó như là một vị trí chứ không phải là đối số tùy chọn ...
Nói cách khác, có thể nói cụ thể cho argparse xem một đối số là tùy chọn hoặc vị trí để tôi có thể có các tham số tùy chọn không có dấu gạch ngang không?
Cú pháp đó (không có dấu gạch ngang) gây nhầm lẫn là địa ngục! Có một lý do quy ước tồn tại. –
@MartijnPieters: có thể gây nhầm lẫn nhưng đối với một số ứng dụng khoa học, đây là một tiêu chuẩn ... [ví dụ] (http://www.ccp4.ac.uk/html/refmac5/description.html) – jvm
@MartijnPieters: counterexample: giao diện dòng lệnh 'git' hoặc' svn'. –