1. 程式人生 > >Python:argparse模組

Python:argparse模組

先看一個常見的寫法:

注意:加重的紅色框框是使用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:後續兩種還沒使用,後續更新。