2013-07-23 46 views
0

我正在使用英文單詞作爲參數的腳本,而不是傳統的--argument-a如何知道第三個參數是否傳遞給腳本?

我都不敢用argparse對付這一點,但我做的時候這跟sys.argv中是這樣的:

if sys.argv[3]: 
    print('yes, there is a third argument') 

我得到一個IndexError: list index out of range。解決這個問題的可能方法是什麼?我想知道是否有第三個論點。

+2

'len(sys.argv)' – DaoWen

回答

0

您可以使用len()首先檢查長度或捕獲IndexError

if len(sys.argv) > 3: 
    # all three arguments are present 
    print 'arg1', sys.argv[1], 'arg2', sys.argv[2], 'arg3', sys.argv[3] 

或:

try: 
    arg1, arg2, arg3 = sys.argv[1], sys.argv[2], sys.argv[3] 
except IndexError: 
    # arguments are missing 
1

您要檢查的argv長度:

if len(sys.argv) > 3: 
    print('yes, there is a third argument') 

如果你有時間,不過,這是值得我們學習argparse。這不是太可怕,它使你的代碼更容易閱讀。

+0

爲什麼這個答案downvoted? – korylprince

相關問題