我可以把我的腳本是這樣的:如何檢查命令行中的參數是否已設置?
python D:\myscript.py 60
而在腳本中,我可以這樣做:
arg = sys.argv[1]
foo(arg)
但我怎麼能測試該說法在命令行調用中輸入?我需要做這樣的事情:
if isset(sys.argv[1]):
foo(sys.argv[1])
else:
print "You must set argument!!!"
我可以把我的腳本是這樣的:如何檢查命令行中的參數是否已設置?
python D:\myscript.py 60
而在腳本中,我可以這樣做:
arg = sys.argv[1]
foo(arg)
但我怎麼能測試該說法在命令行調用中輸入?我需要做這樣的事情:
if isset(sys.argv[1]):
foo(sys.argv[1])
else:
print "You must set argument!!!"
不要使用sys.argv
來處理命令行界面;有一個模塊可以做到這一點:argparse
。
您可以通過將required=True
傳遞給add_argument
來標記參數。
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument("foo", ..., required=True)
parser.parse_args()
len(sys.argv) > 1
if len(sys.argv) < 2:
print "You must set argument!!!"
我用optparse module對於這一點,但我猜是因爲我使用2.5可以使用argparse亞歷克斯建議,如果你使用的是2.7或更高
for arg in sys.argv:
print (arg)
#print cli arguments
你可以用它來存儲在列表中的參數和使用他們。是不是他們使用像這樣的sys.argv[n]
沒有問題,如果沒有給出參數
檢查的argv [1]爲null,更安全的方式,對不起,我認爲這是暗示我說的是參數1 – Jim 2010-11-15 20:27:13
@ Jim'sys.argv'不爲空,它至少包含腳本的名稱,如'sys.argv [0]' – khachik 2010-11-15 20:29:23