sys.argv[]說白了就是一個從程式外部獲取參數的橋樑,這個「外部」很關鍵,所以那些試圖從程式碼來說明它作用的解釋一直沒看明白。因爲我們從外部取得的參數可以是多個,所以獲得的是一個列表(list),也就是說sys.argv其實可以看作是一個列表,所以才能 纔能用[]提取其中的元素。其第一個元素是程式本身,隨後才依次是外部給予的參數。
下面 下麪我們通過一個極簡單的test.py程式的執行結果來說明它的用法。
'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:778463939
尋找有志同道合的小夥伴,互幫互助,羣裡還有不錯的視訊學習教學和PDF電子書!
'''
#test.py
import sys
a=sys.argv[0]
print(a)
將test.py儲存在C槽的根目錄下。
在程式中找到 ‘執行’->點選->輸入"cmd"->回車鍵 進入控制檯命令視窗(如下圖),先輸入cd c:\ (作用是將命令路徑改到C槽根目錄),然後輸入test.py執行我們剛剛寫的程式:
得到的結果是C:\test.py,這就是0指程式碼(即此.py程式)本身的意思。
然後我們將程式碼中0改爲1 :
a=sys.argv[1]
儲存後,再從控制檯視窗執行,這次我們加上一個參數,輸入:test.py what
得到的結果就是我們輸入的參數what,看到這裏你是不是開始明白了呢。
那我們再把程式碼修改一下:
a=sys.argv[2:]
儲存後,再從控制檯窗臺執行程式,這次多加幾個參數,以空格隔開:
test.py a b c d e f
得到的結果爲[‘b’, ’c’, ’d’, ’e’, ’f’]
應該大徹大悟了吧。Sys.argv[ ]其實就是一個列表,裏邊的項爲使用者輸入的參數,關鍵就是要明白這參數是從程式外部輸入的,而非程式碼本身的什麼地方,要想看到它的效果就應該 將程式儲存了,從外部來執行程式並給出參數。