今日看到argv 度娘查找一番,基本都是轉載的同一篇文章,總體字數不少但看了之后感覺還是稀里糊塗,自己嘗試了一番簡單總結如下
當我們需要在命令行執行腳本並需要在執行腳本的同時傳入參數給腳本使用,那我們就可以使用到argv
,argv
是sys模塊下的方法用於接收命令行傳參,如下進行簡單示例創建demo.py
腳本計算兩個數相加,且我們需要在命令行進行傳參:
from sys import argv # 導入模塊
# 如果執行的方式錯誤輸出使用方法
USAGE = '''
用法錯誤,正確方式如下:
python demo.py one two
'''
if len(argv) != 3: # 判斷argv的長度,如果腳本被直接執行(argv的值為當前腳本的路徑),如果執行命令是python demo.py 加兩個參數(argv的長度就為3(以此類推))
print(USAGE) # 如果傳入的參數不足,輸出正確用法
exit(1) # 異常退出(下面的代碼將不會被執行)
script_name, one, two = argv # 將傳入的參數賦值進行使用
print(f'你執行的腳本是:{script_name},') # 輸出腳本名稱
print(f'相加的結果是:{float(one) + float(two)}') # 輸出結果
當我們直接在命令行執行,不傳進行參或傳參數量不正確時:
D:\xuexi\python>python demo.py
用法錯誤,正確方式如下:
python demo.py one two
正確傳參執行結果:
D:\xuexi\python>python demo.py 6 6
你執行的腳本是:demo.py,
相加的結果是:12.0
可以看到argv用法就是獲取在命令行執行腳本時python命令后跟的所有參數