sys.argv的意義
簡單來說,sys.argv是一個參數列表,這個列表存放着從外界獲取到的參數(可能有多個)
下面以一個例子來詳細闡述sys.argv,本次演示在ubuntu環境下運行
新建一個test.py,寫入以下代碼
test.py
import sys
lst = sys.argv
print(lst)
在命令行使用python解釋器運行test.py
python3 test.py # 注意此命令要在test.py所在的目錄下運行
運行結果
['test.py']
可以看到sys.argv里面只有一個元素,是當前文件的文件名
下面我們在運行test.py時傳入一個參數,觀察sys.argv的變化
python3 test.py 2
運行結果
['test.py', '2']
傳入多個參數時 ``` python3 test.py 2 "hello" # 注意參數是以空格分割
運行結果
['test.py', '2', 'hello']
<br>
改變當前工作目錄,切換到上級目錄tmp
```linux
cd ..
再次運行test.py
python3 tmp/test.py 2 "hello" "world"
運行結果
['tmp/test.py', '2', 'hello', 'world']
可以看到sys.argv的第一個元素是執行的py文件相對於當前工作目錄的路徑
sys.argv的使用
工作中我們可能會遇到這樣一種情況,需要在命令行執行py文件,同時也需要傳入參數,這時候sys.argv就派上用場了,sys.argv維護着一個參數列表,從外界傳入的參數都記錄在這個列表里,從而就可以在py文件里使用這些參數
修改test.py文件
test.py
import sys
lst = sys.argv
print(lst)
def func():
a = int(sys.argv[1])
b = int(sys.argv[2])
return a**b
print("result of func:",func())
運行結果
['test.py', '2', '3']
result of func: 8
## 小結 簡而言之, sys.argv是一個參數列表,第一個元素是執行的py文件相對於當前工作目錄的路徑,后面的元素都是外界傳入的參數 ,在py文件里可以使用`sys.argv[index]`的方式獲取這些參數