我正在使用英文單詞作爲參數的腳本,而不是傳統的--argument
或-a
。如何知道第三個參數是否傳遞給腳本?
我都不敢用argparse對付這一點,但我做的時候這跟sys.argv中是這樣的:
if sys.argv[3]:
print('yes, there is a third argument')
我得到一個IndexError: list index out of range
。解決這個問題的可能方法是什麼?我想知道是否有第三個論點。
我正在使用英文單詞作爲參數的腳本,而不是傳統的--argument
或-a
。如何知道第三個參數是否傳遞給腳本?
我都不敢用argparse對付這一點,但我做的時候這跟sys.argv中是這樣的:
if sys.argv[3]:
print('yes, there is a third argument')
我得到一個IndexError: list index out of range
。解決這個問題的可能方法是什麼?我想知道是否有第三個論點。
您可以使用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
您要檢查的argv
長度:
if len(sys.argv) > 3:
print('yes, there is a third argument')
如果你有時間,不過,這是值得我們學習argparse。這不是太可怕,它使你的代碼更容易閱讀。
爲什麼這個答案downvoted? – korylprince
'len(sys.argv)' – DaoWen