argparse模块
Posted 去做点事情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了argparse模块相关的知识,希望对你有一定的参考价值。
模块argparse是python标准库中推荐的命令行解析模块
简明使用步骤:
1:import argparse 首先导入该模块 2:parser = argparse.ArgumentParser() 然后创建一个解析对象 3:parser.add_argument() 然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项 4:parser.parse_args() 最后调用parse_args()方法进行解析,解析成功之后即可使用
以下是fast-rcnn代码中train_net的使用:
def parse_args(): """ Parse input arguments """ parser = argparse.ArgumentParser(description=\'Train a Fast R-CNN network\') parser.add_argument(\'--gpu\', dest=\'gpu_id\', help=\'GPU device id to use [0]\', default=0, type=int) parser.add_argument(\'--solver\', dest=\'solver\', help=\'solver prototxt\', default=None, type=str) parser.add_argument(\'--iters\', dest=\'max_iters\', help=\'number of iterations to train\', default=40000, type=int) parser.add_argument(\'--weights\', dest=\'pretrained_model\', help=\'initialize with pretrained model weights\', default=None, type=str) parser.add_argument(\'--cfg\', dest=\'cfg_file\', help=\'optional config file\', default=None, type=str) parser.add_argument(\'--imdb\', dest=\'imdb_name\', help=\'dataset to train on\', default=\'voc_2007_trainval\', type=str) parser.add_argument(\'--rand\', dest=\'randomize\', help=\'randomize (do not use a fixed seed)\', action=\'store_true\') parser.add_argument(\'--set\', dest=\'set_cfgs\', help=\'set config keys\', default=None, nargs=argparse.REMAINDER) if len(sys.argv) == 1: parser.print_help() sys.exit(1) args = parser.parse_args() return args
这是没加任何参数直接输入的情况:
这和输入python train_net.py -h是一样的效果,因为原代码中有这样一段代码:
if len(sys.argv) == 1: parser.print_help() sys.exit(1)
以上是关于argparse模块的主要内容,如果未能解决你的问题,请参考以下文章