argparse模块使用方法

argparse模块官方文档:

argparse是一个Python模块:命令行选项、参数和子命令解析器

argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数。然后argparser将弄清

如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

使用流程

  1. 创建解析器

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

   使用argparser的第一步是创建一个ArgumentParser对象,ArgumentParser对象包含将命令行解析成Python数据类型所需的全部信息。

  2. 添加参数

   (1). parser.add_argument('integers', metavar='N', type=int, nargs='+', help = 'an integer for the accumulator')

   给一个ArgumentParser添加程序阐述信息是通过调用add_arguement()方法完成的。

  3. 解析参数

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

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

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

使用案例

#-*- 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)    # 设置参数"gpu"的默认值为0
    args = parser.parse_args()                 # 步骤三,进行参数解析
    # parser.print_help()   可以打印出帮助信息
    return args

if __name__ == '__main__':
    args = parse_args()
    print(args.addresses)            # 获取参数args.addresses的信息

细节描述

1.ArgumentParser对象

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

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

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

2.add_argument()方法

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

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

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

dest - 用来指定参数的位置

type - 为参数类型,例如int

require-用于确保组中的参数至少有一个或者只有一个(required=True)

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

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

argpparse高阶用法

1.ArgumentParser支持参数分组

 2.argparse支持子命令

支持子命令,比如pip就有install/uninstall/freeze/list/show等子命令,这些子命令又接受不同的参数,使用ArgumentParser.add_subparsers()就可以实现类似的功能。

3.出现非法参数时,输出提示信息并退出应用程序

除了参数处理之外,当出现非法参数时,用户还需要做一些处理,处理完成后,一般是输出提示信息并退出应用程序。ArgumentParser提供了两个方法函数,分别是exit(status=0, message=None)和error(message),可以省了import sys再调用sys.exit()的步骤。 

4.支持文件类型

除了支持常规的int/float等基本数值类型外,argparse还支持文件类型,只要参数合法,程序就能够使用相应的文件描述符。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值