Python argparse模組用法
阿新 • • 發佈:2021-10-24
Python argparse模組用法
argparse是python推薦的命令列解析模組,命令列執行指令碼時可以新增引數,在python指令碼中通過該模組去解析引數,也可以限制引數型別,sys.argv也可以接收引數。
1. 示例
import argparse # 建立解析物件, description是對它的描述 parser = argparse.ArgumentParser(description="test argparse") # 向parser物件新增命令列引數和選項,這裡兩個引數,一個是長引數:--param1,一個是短引數:-p1 parser.add_argument("--param1", "-p1", type=str) # 對命令列引數進行解析 args = parser.parse_args()
執行:
- 終端輸入命令:python argparse_demo.py -p1=這裡是引數p1
- 執行結果:
Namespace(param1='這裡是引數p1')
這裡是引數p1
add_argument()引數介紹:
- type:指定引數型別
- required:引數是否必填,如果為True則必須要傳入對應的值
- help:python test.py -h 會出現對應help的內容
- nargs:指定這個引數後面的值有多少個,預設為1個,也可以寫正則符號:+、*、數字
- choices:設定引數範圍
2. 多個引數情況
如果有多個引數需要傳給指令碼執行,可以通過多新增add_argument(),示例:
import argparse # 建立解析物件 parser = argparse.ArgumentParser(description="test argparse") # 向parser物件新增命令列引數和選項,長引數--param1,短引數-p1 parser.add_argument("--param1", "-p1", type=str) parser.add_argument("--param2", "-p2", type=int) parser.add_argument("--param3", "-p", type=int) # 對命令引數解析 args = parser.parse_args() print(args) # 輸出每個引數的值 print(args.param1,"\n", args.param2,"\n", args.param3)
執行:
- 終端輸入命令:python argparse_demo.py -p1=111 -p2=2 -p3 1 2 3
- 執行結果:
Namespace(param1='111', param2=2, param3=[1, 2, 3])
111
2
[1, 2, 3]
參考自文章:https://blog.csdn.net/rongDang/article/details/93095057