Python:argparse模組
阿新 • • 發佈:2019-01-08
先看一個常見的寫法:
注意:加重的紅色框框是使用argparse模組的幾個核心步驟:
下面分步學習:
一:首先了解argparse模組的用途
argparse是python標準庫裡面用來處理命令列引數的庫。
Note:命令列引數分為:位置引數和選項引數兩類。
二、使用的核心步驟就是圖片的紅色框框:
(1)首先,匯入模組:
import argparse
(2)然後:建立一個解析物件:
FLAGS = argparse.ArgumentParser()
(3)向該物件中新增你要關注的命令列引數和選項
FLAGS = argparse.ArgumentParser() FLAGS.add_argument('--arch', choices=['vgg', 'resnet', 'densenet'], help='Architectures', default='vgg') FLAGS.add_argument('--scale', choices=[2], type=int) FLAGS.add_argument('--mode', choices=['finetune', 'eval'], help='Run mode', default='finetune')
(4)最後,切記,對物件要進行解析:
args = FLAGS.parse_args()
三、接下來需要關注一下:add_argument()方法的常用引數:
(1)name or flags... - 必選,指定引數的形式,一般寫兩個,一個短引數,一個長引數
(2)help 可以寫幫助資訊
(3)type 指定引數型別
(4)choices 設定引數的範圍,如果choice中的型別不是字串,要指定type表示該引數能接受的值只能來自某幾個值候選值中,除此之外會報錯,用choice引數即可
(5)action 表示值賦予鍵的方式,這裡用到的是bool型別,action意思是當讀取的引數中出現指定引數的時候的行為;
剩下的還有:
(6)required 必需引數,通常-f這樣的選項是可選的,但是如果required=True那麼就是必須的了
(7)nargs 指定這個引數後面的value有多少個,預設為1
Note:後續兩種還沒使用,後續更新。