2013-02-08 58 views
3

我的python3腳本適用於在命令行中指定的輸入和輸出文件。 的使用應該是這樣的具有前綴的Argparse位置參數

xxxx.py [-h] --input=file --output=file 

在代碼中,我使用

parser.add_argument("input", help='Input file'); 
parser.add_argument("output", help='Output file'); 

但爭論是沒有必要的前綴。有沒有辦法爲每個參數指定前綴?

回答

5

只需包括雙破折號:

parser.add_argument("--input", help='Input file'); 
parser.add_argument("--output", help='Output file'); 

參數是任一位置或可選的;以--開頭的參數是總是可選。你不能用--前綴創建位置參數,你真的不應該這樣做。前綴--是您真正不想破壞的用戶界面約定。

+0

我同意並理解你的意思,但是這種格式是在我的課程作業中定義的,所以我無法更改它。 在這種情況下,我想我會將它們視爲可選項,然後檢查它們是否都是在命令行中定義的,但我完全不喜歡該解決方案,因爲它會混淆自動生成的幫助選項。 – skornos 2013-02-08 15:46:20

+1

@skornos:我懷疑你在這種情況下誤解了任務。 – 2013-02-08 15:49:58

+0

你說得對,我的不好 – skornos 2013-02-08 16:16:02