1. 程式人生 > >Python中 sys.argv[]解釋及用法

Python中 sys.argv[]解釋及用法

argv:網路解=釋義( 引數,命令列,引數排列命令列,引數命令列變元陣列)
sys.argv[0]表示程式碼本身檔名稱”僅僅是一種結果的表現,其sys.argv的真正用法是什麼,接下來用個小的demo來解釋下:
在linux環境下,開啟終端,touch一個aaa.py執行指令碼。
用vim編輯器進入到執行指令碼中,接下來咱們寫幾行程式碼,如下:

  1 import sys
  2 
  3 a = sys.argv                                                                                          
  4 print a

儲存退出,執行python aaa,py。結果如下:
在這裡插入圖片描述
可以看出,打印出來的結果是在列表中以字串形式存在的檔名,那麼改改程式碼,我們再看看:

  1 import sys
  2 
  3 a = sys.argv[0]                                                                                       
  4 print a

執行結果:
在這裡插入圖片描述
此時取出的就是單獨的執行檔名。那麼我們再執行一下python aaa.py hello,看看結果怎麼樣:
在這裡插入圖片描述
跟剛剛執行結果沒什麼關係。如果我們把 argv[0] 改成argv[1]會怎麼樣:

  1 import sys
  2 
  3 a = sys.argv[1]                                                                                       
  4 print a

執行結果:
在這裡插入圖片描述
此時看到,這次列印的不再是我們的檔名稱了,而是我們檔名後面跟的一些引數。再換個方式,將程式碼再改改:

  1 import sys
  2 
  3 a = sys.argv[3: ]                                                                                     
  4 print a

執行:python aaa.py 1 2 3 4 5 6 7 8 9 0
結果:在這裡插入圖片描述
怎麼樣,這下明白了把。Sys.argv[ ]其實就是一個列表,裡邊的項為使用者輸入的引數,關鍵就是要明白這引數是從程式外部輸入的,而非程式碼本身的什麼地方,要想看到它的效果就應該將程式儲存了,從外部來執行程式並給出引數。我們用此方法獲取檔名稱或者外部傳入引數通過列表操作進行篩選後使用。