2015-04-02 47 views
0

我真的很努力地找到一個資源,它實際上解釋瞭如何使用python實現getopt的語法。我看到的每個例子都至少有十行代碼,並且都沒有解釋。我試圖用getopt的非常簡單的從我的命令行允許鍵入下列選項getopt for python語法

python test.py -i file.fa 

python test.py -inputfile = file.fa 

我是初學者,所以我真的很努力明白什麼語法是必要的,什麼是不....這是多遠,我已經變得和它不工作:

def main(): 
    try: 
    opts,args = getopt.getopt(sys.argv[1:],":i"["inputfile=",]) 
    for opt,arg in opts: 
     if opt == '-i': 
      inputfile = arg 
+0

您是否嘗試了第二個選項,而沒有圍繞等號的空格? – 2015-04-02 01:38:33

+0

我很確定'「:我」[「inputfile =」,]'應該是'「:i」,[「inputfile =」])' – zwol 2015-04-02 01:41:51

+0

您幾乎肯定希望您的長參數以_double_連字符開頭: '--inputfile'。這可以防止含多個參數的單個連字符的含糊不清 - 像'program -xml'這樣的命令有一個長參數還是三個短參數? – 2015-04-02 02:42:33

回答

2

如果使用Python 2.7或HIG她,你可能會更容易使用argparse,或者如果小於2.7,可以使用optparse

然後有aaargh。每個都有一個相當廣泛的例子列表。您可能需要使用pip install或sudo pip install實際安裝最後一個。