Python之argv簡明詳解
阿新 • • 發佈:2019-01-03
今日看到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命令後跟的所有引數