python 参数模块argparse使用
最近在用,做下总结!
argparse是python的一个命令行解析包,用于编写可读性非常好的程序
1创建参数
导入包;创建参数
import argparse
parser = argparse.ArgumentParser("name")
2添加参数
添加参数,包括参数名data_dir表示为–data-dir
default默认值
help
注意:所有参数均为字符串型
parser.add_argument('--data-dir', default='', help='')
parser.add_argument('--image-size', type=str, default='112,112', help='')
parser.add_argument('--output', default='', help='path to save.')
parser.add_argument('--num-samepairs',default=100)
3程序中用参数
创建对象,然后获取它的值
args = parser.parse_args()
lfw_dir = args.data_dir
4命令行如何用
python3 verification.py --data-dir ../lfw --nfolds 10 --target lfw
5参数分组设置
add_argument_group()
参数分组设置。当有分组命令的需求时可用,输入参数将归于所属分组下.
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('prefix', help='prefix of input/output lst and rec files.')
cgroup = parser.add_argument_group('Options for creating image lists')
cgroup.add_argument('--list', action='store_true', help='')
6参数action
有的参数带有action表示在命令行时直接加上这个参数,不赋值就直接按照action行动。
例如:下面的行动是store_true,设置list为真,这样
cgroup.add_argument('--list', action='store_true',help=' ')
这样程序中可以
if args.list:
make_list(args)
运行时直接加–list代表设置为真
python3 im2rec.py --list --recursive ../../datasets/lfw/lfw ../../datasets/lfw2