argparse.argumentParser()用法解析

一、介绍

argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用适用于解析命令行参数。我们很多时候用到解析命令行参数的程序,目的是在终端窗口能够输入训练的参数和选项(ubuntu是终端窗口,windows是命令行窗口)。

二、使用步骤

常常可以将其简化为四个步骤:

1)import argparse

2)parser = argparse.ArgumentParser()

3)parser.add_argument()

4)parser.parse_args()

解释如下:首先导入模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个一要关注的参数和选项;最后调用parse_srgs()方法进行解析;解析成功后可使用。

三、例子说明

接下来就是例子讲解说明,我们可以看到上面的第二个步骤,parser = argparse.ArgumentParse()

他的作用就是:当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器已经调用了print_help()方法)时,会打印这些描述信息,一般只需要传递description参数。

#-*- coding: UTF-8 -*-
import argparse   #步骤一

def parse_args():
    """
    :return:进行参数的解析
    """
    parser = argparse.ArgumentParser(description="you should add those parameter")        # 这些参数都有默认值,当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,                                                                     # 会打印这些描述信息,一般只需要传递description参数,如上。
    parser.add_argument('--addresses',default="sipingroad", help = "The path of address")
    parser.add_argument('--gpu', default=0)# 步骤二,后面的help是我的描述
    args = parser.parse_args()                                       # 步骤三
    return args

if __name__ == '__main__':
    args = parse_args()
    print(args.addresses)            #直接这么获取即可。

我们输入

python arg.py -h

输出提示是:

详细介绍

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

本博客用于学习记录,内容来源于https://www.cnblogs.com/yibeimingyue/p/13800159.html

  argparse是一个python模块:命令行选项、参数和子命令解析器;argparse模块可以让人编写用户友好的命令行接口。程序定义它所需要的参数。

使用流程:

    1)创建解析器:

      parser = argparse.ArgumentParser(description='Process some intergers.')

     使用argparse的第一步就是创建一个ArpumentParse对象,ArgumentParse对象包含将命令行解析成Python数据类型序偶需要的全部信息,

    2)添加参数

   parser.add_argument('integers', metavar = 'N',type=int,nargs='+',help='an integer for the accumulator')   #给一个ArgumentParser添加程序阐述信息使用过调用add_argument()方法完成的。

   3)解析参数

parser.parse_args(['--sum', '7','-1', '42'])

Namespace(accumulate=<built-in function sum>, integers=[7, -1, 42])

ArgumentParse通过parse_args()方法解析参数

ArgumentParser对象

prog - 程序的名称(默认: sys.argv[0],prog猜测是programma的缩写)

usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)

description - 在参数帮助文档之后显示的文本 (默认值:无)

add_argument()方法

name or flags - 一个命名或者一个选项字符串的列表

action - 表示该选项要执行的操作

default - 当参数未在命令行中出现时使用的值

dest - 用来指定参数的位置

type - 为参数类型,例如int

choices - 用来选择输入参数的范围。例如choice = [1, 5, 10], 表示输入参数只能为1,5 或10

help - 用来描述这个选项的作用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值