Python的argparse模块
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的argparse模块相关的知识,希望对你有一定的参考价值。
Python的argparse模块
0.介绍
argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。
我们很多时候,需要用到解析命令行参数的程序。
1.使用步骤
我们常常可以把argparse的使用简化成下面四个步骤
1:import argparse
2:parser = argparse.ArgumentParser()
3:parser.add_argument()
4:parser.parse_args()
上面四个步骤解释如下:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析;解析成功之后即可使用。
2.示例
示例a
下面我们通过一个例子来进行讲解说明
我们可以看到上面的第二个步骤,parser = argparse.ArgumentParser()
它的作用就是:当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,会打印这些描述信息,一般只需要传递description参数。
下面会有例子输出,首先给出代码:
# -*- coding: UTF-8 -*-
import argparse # 步骤一
def parse_args():
"""
:return:进行参数的解析
"""
description = "you should add those parameter" # 步骤二
parser = argparse.ArgumentParser(
description=description) # 这些参数都有默认值,当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,
# 会打印这些描述信息,一般只需要传递description参数,如上。
help = "The path of address"
parser.add_argument('--addresses', help=help) # 步骤三,后面的help是我的描述
args = parser.parse_args() # 步骤四
return args
if __name__ == '__main__':
args = parse_args()
print(args.addresses,type(args.addresses))
示例b
# 解析命令行的参数
def parse_args():
"""Parse input arguments."""
# -h --help 帮助的描述
parser = argparse.ArgumentParser(description='Tensorflow Faster R-CNN demo')
"""
可选参数 -net(指定网络) dest指定 args用来访问的参数名 args.demo_net
choice 允许的参数值
"""
parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16 res101]',
choices=NETS.keys(), default='vgg16')
"""
可选参数 数据集
"""
parser.add_argument('--dataset', dest='dataset', help='Trained dataset [pascal_voc pascal_voc_0712]',
choices=DATASETS.keys(), default='pascal_voc')
# 解析
args = parser.parse_args()
return args
3.参考文章
基本使用 https://zhuanlan.zhihu.com/p/28871131
参数的使用 https://www.jianshu.com/p/a41fbd4919f8
以上是关于Python的argparse模块的主要内容,如果未能解决你的问题,请参考以下文章