sys.argv的意義及用法


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]`的方式獲取這些參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM