Python如何使用argparse模組處理命令列引數
阿新 • • 發佈:2020-01-09
這篇文章主要介紹了Python如何使用argparse模組處理命令列引數,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
介紹
argparse是python3標準庫裡用來處理命令列引數的模組
使用三步走:
- 建立 ArgumentParser() 物件
- 呼叫 add_argument() 方法新增引數
- 使用 parse_args() 解析新增的引數
例項
我們先來建立一個python檔案
vim test.py
然後開始在輸入模式(i)下輸入程式碼
import argparse # 匯入模組 parser = argparse.ArgumentParser() # 建立一個物件 parser.add_argument("square",help="pls enter a num",type=int) # 增加一個叫square的引數,型別必須是int parser.add_argument("input_str",help="pls enter a string",type=str) # 增加一個叫input_str的引數,型別必須是str args = parser.parse_args() # 解析 print(args.square ** 2) print(args.input_str)
然後,讓我們來執行一下
python test.py 3 "I am a string!" # 結果是: # 9 # I am a string!
如果要檢視檔案的引數資訊
python test.py -h
如果要設定可選引數
parser = argparse.ArgumentParser() parser.add_argument("--argument1",“-arg1”,help="display the first argument",type=int) # 引數名前加--,取別名為-arg1 parser.add_argument("--argument2",choices=[5,10,20],help="display the second argument",type=int) # choices 為限定候選列表 args = parser.parse_args() print(args) if args.argument1 and args.argument2: print(args.argument1 + args.argument2)
執行一下
python test.py # Namespace(argument1=None,argument2=None) python test.py -arg1 3 --argument2 5 # Namespace(argument1=3,argument2=5) # 8
如果要設定必選引數
使用required
parser.add_argument("--num",type=int,required=True,help="must enter a num")
引數還可以是檔案
parser.add_argument('file',type=argparser.FileType('r')) # 讀取檔案 parser.add_argument('file',default='text.txt',type=argparser.FileType('r')) # 讀取檔案,預定義引數
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。