1. 程式人生 > >Python的sys.argv使用說明

Python的sys.argv使用說明

imp 執行 import 得出 不包含 官網 2個 python字符串 ....

剛開始使用這個參數的時候,很不明白其含義.網上搜索很多都是貼的官網上面的一則實例,說看懂,就明白.可是,我看不懂.現在在回頭看這個參數使用,並不是很麻煩.

舉幾個小例子就明白了.

創建一個腳本,內容如下

1  #conding:utf-8
2  import sys #導入sys模塊
3  print(sys.argv[0]) # 打印sys.argv的第0個參數

來運行一下這個腳本,我們隨便給他點參數,1個,2個,3個或更多都行.

1 $ python3.6 1234.py a b c d e f 
2 1234.py

得出結果就顯示當前腳本名,這裏我們就可以得出第一個結論.

sys.argv[0] 返回是的腳本

現在我們修改一下腳本, 內容如下

1 #conding:utf-8
2 import sys #導入sys模塊
3 print(sys.argv[1]) # 打印sys.argv的第1個參數

執行如下

1 $ python3.6 1234.py a b c d e f 
2 a

得出結果就是第一個參數的值.通過這樣類推,我們就是知道sys.argv參數的效果了.

返回腳本本身的名字及給定腳本的參數.

了解shell腳本編程的可以這樣理解這些參數,sys.argv[0] 就是shell 腳本中的basename ,而sys.argv[1]....就是shell中的$1,$2.....

sys.argv也支持python字符串中的切片,我們還是先修改代碼

示例1:

1 #conding:utf-8
2 import sys #導入sys模塊
3 print(sys.argv[1:]) # 打印sys.argv的第1個參數及其以後所有參數,返回的值是一個list

結果如下:

$ python3.6 1234.py a b c d e f 
[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘]

示例2:

1 #conding:utf-8
2 import sys #導入sys模塊
3 print(sys.argv[1:3]) # 打印sys.argv的第1個參數到第三個參數,不包含第三個參數,返回的值是一個list

結果如下:

1 $ python3.6 1234.py a b c d e f 
2 [‘a‘, ‘b‘]

示例3:

#conding:utf-8
import sys #導入sys模塊
print(sys.argv[1:5:2])
print(sys.argv[-1])
print(sys.argv[::-1])

結果如下

1 $ python3.6 1234.py a b c d e f 
2 [‘a‘, ‘c‘]
3 f
4 [‘f‘, ‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘, ‘1234.py‘]

上面示例使用了字符串的切片方法,需要先了解字符串的切片知識.

通過如上示例,應該明白sys.argv的使用和暫時的結果.

sys.argv就是將程序本身和給程序參數返回一個list,這個list中的索引為0的就是程序本身.因此裏面的給sys.argv的參數就是list索引.

這個函數是我們寫python腳本中最常用的一個函數.

Python的sys.argv使用說明