先看一个常见的写法:
注意:加重的红色框框是使用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:后续两种还没使用,后续更新。