https://www.cnblogs.com/aland-1415/p/6613449.html
sys.argv[]說白了就是一個從程序外部獲取參數(shù)的橋梁,這個“外部”很關(guān)鍵融撞,所以那些試圖從代碼來說明它作用的解釋一直沒看明白瘫想。因為我們從外部取得的參數(shù)可以是多個,所以獲得的是一個列表(list)靡菇,也就是說sys.argv其實可以看作是一個列表重归,所以才能用[]提取其中的元素。其第一個元素是程序本身厦凤,隨后才依次是外部給予的參數(shù)鼻吮。
下面我們通過一個極簡單的test.py程序的運行結(jié)果來說明它的用法。
1#test.py23importsys4a=sys.argv[0]5print(a)
將test.py保存在c盤的根目錄下较鼓。
在程序中找到 ‘運行’->點擊->輸入"cmd"->回車鍵 ? 進入控制臺命令窗口(如下圖)椎木,先輸入cd c:\?? (作用是將命令路徑改到c盤根目錄),然后輸入test.py運行我們剛剛寫的程序:
得到的結(jié)果是C:\test.py博烂,這就是0指代碼(即此.py程序)本身的意思香椎。
然后我們將代碼中0改為1 :
a=sys.argv[1]
保存后,再從控制臺窗口運行禽篱,這次我們加上一個參數(shù)畜伐,輸入:test.py what
得到的結(jié)果就是我們輸入的參數(shù)what,看到這里你是不是開始明白了呢躺率。
那我們再把代碼修改一下:
a=sys.argv[2:]
保存后玛界,再從控制臺窗臺運行程序,這次多加幾個參數(shù)悼吱,以空格隔開:
test.py a b c d e f
得到的結(jié)果為[‘b’, ’c’, ’d’, ’e’, ’f’]
應(yīng)該大徹大悟了吧慎框。Sys.argv其實就是一個元組,里邊的項為用戶輸入的參數(shù)后添,關(guān)鍵就是要明白這參數(shù)是從程序外部輸入的笨枯,而非代碼本身的什么地方,要想看到它的效果就應(yīng)該將程序保存了,從外部來運行程序并給出參數(shù)