写深度学习脚本的时候需要设置各种参数,你还在手动在代码里修改?那你就out了,赶紧来学学argparse库的使用吧!
python中argparse库是一个命令行参数的解析工具,利用这个库可以在命令行运行脚本时,设置参数,从而灵活的设置脚本中需要的参数。下面总结一下argparse库的使用方法。
创建parse对象
argparse库为python自带的库,使用时直接import argparse
就可以使用,第一步,我们要创建一个ArgumentParser
对象,(设置的参数最终都会作为ArgumentParser对象的属性,调用方法如ArgumentParser.xxxxx),同时在其description
参数中,我们可以输入想添加的提示信息。
import argparse
parser = argparse.ArgumentParser(description='add some useful information here....')
使用add_argument()方法添加参数
创建了ArgumentParser
对象之后,就可以使用add_argument()
方法来添加参数,其输入参数如下,其中[]
中的参数为可选参数,作用为设置参数的一些属性。add_argument()
第一个输入参数即为我们添加的参数,当前面没有-
前缀,比如'foo'
时为位置参数,当带有-
前缀时,为可选参数,如--foo
。位置参数和可选参数的概念这里就不解释了。
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default]
[, type][, choices][, required][, help][, metavar][, dest])
import argparse
parser = argparse.ArgumentParser(description='arugment test')
parser.add_argument('foo') #位置参数
parser.add_argument('--foo2') #可选参数
下面先总结一下,add_argument()
方法中常用的一些属性:
属性值 | 作用 |
---|---|
type | 指定参数存储时的类型,可为int、float、str 等 |
action | 指定参数的动作,可为store_const、store_true/store_false、append、count ’ |
default | 指定参数的默认值 |
dest | 指定参数的保存位置,如设置'ddd' ,则通过parser.ddd 获取该参数值 |
choice | 指定参数的可选项,参数只能从设置值中选择 |
required | 说明参数是否为必须的,可以设置为True\False |
help | 参数的说明,用户输入--help\-h 时,会显示设置的帮助信息 |
type
ArgumentParser
添加的参数默认存储类型为str
,如果想以其他方式进行存储,就要通过设置type
属性来按指定类型存储,代码和运行结果如下:
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
description='Create an image list or \
make a record database by reading from an image list'
)
parser.add_argument('--foo')
parser.add_argument(