python 之中我們在終端運行 python ces.py 運行腳本需要傳參數的時候如何操作呢,需要使用sys.agrv方法
sys.argv[]說白了就是一個從程序外部獲取參數的橋梁,這個“外部”很關鍵,所以那些試圖從代碼來說明它作用的解釋一直沒看明白。因為我們從外部取得的參數可以是多個,所以獲得的是一個列表(list),也就是說sys.argv其實可以看作是一個列表,所以才能用[]提取其中的元素。其第一個元素是程序本身,隨后才依次是外部給予的參數。
下面我們通過一個極簡單的test.py程序的運行結果來說明它的用法。
1 #test.py 2 3 import sys 4 a=sys.argv[0] 5 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[ ]其實就是一個列表,里邊的項為用戶輸入的參數,關鍵就是要明白這參數是從程序外部輸入的,而非代碼本身的什么地方,要想看到它的效果就應該將程序保存了,從外部來運行程序並給出參數。