• argparse 命令行参数解析包


    简介

    argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广

    使用方法

    1. 导入 argparse
    2. 创建 ArgumentParser 对象,可添加描述(description)信息,表明这个对象的功能
    3. 添加参数处理,可添加多个
    import argparse
    
    def get_parser():
        # 创建ArgumentParser对象,里面可以添加描述信息
        parser = argparse.ArgumentParser(description="Demo of argparse")
        # 添加参数处理
        parser.add_argument('--name', default='Coolin')
        
        return parser
        
    if __name__ == '__main__':
        parser = get_parser()
        args = parser.parse_args()
        name = args.name
        print('name:%s' % name)
    
    
    
    
    $ python name.py --name zcy
    
    name:zcy
    
    

    参数解析

    1、变量名:

    ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][,metavar][, dest])
    
    • –name : 参数全名,需要加在参数上 如:python demo.py --name zcy
    • -n:参数简称,可与–name同时存在
    • name 或者 dest=name:参数名,提供参数占位符,必须填写,否则报错。如:python demo.py zcy

    2、default参数:提供参数默认值

    3、required:默认情况下,可选项(前面有'-')被认为并不一定需要出现在命令行参数中,但是如果设置了required=True的话,则必须出现。此类设置违背人的常识,应避免使用

    4、type:用于类型检查和类型转换;参数类型,默认是str ,如果需要int ,type=int即可

    5、choices:参数的值只能在几个选项中选择:

    # file-name: choices.py
    import argparse
    
    def get_parser():
        parser = argparse.ArgumentParser(
            description='choices demo')
        parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
    
        return parser
    
    if __name__ == '__main__':
        parser = get_parser()
        args = parser.parse_args()
        print('the arch of CNN is '.format(args.arch))
    
    

    6、help:指定参数的说明信息,可使用-h(–help)查看该信息

    7、nargs:设置参数的个数

    格式

    parser.add_argument('-name', nargs=x)
    

    x 的候选值以及含义

    含义
    N 参数的绝对个数(如:3)
    ‘?’ 0或1个参数
    ‘*’ 0或多个参数
    ‘+’ 1或者多个参数
    # file-name: nargs.py
    import argparse
    
    def get_parser():
        parser = argparse.ArgumentParser(
            description='nargs demo')
        parser.add_argument('-name', required=True, nargs='+')
    
        return parser
    
    
    if __name__ == '__main__':
        parser = get_parser()
        args = parser.parse_args()
        names = ', '.join(args.name)
        print('Hello to {}'.format(names))
    
    
    $ python nargs.py -name A B C
    Hello to A, B, C
    

    8、metavar: 参数的名字,在显示 帮助信息时才用到.(帮助信息)

  • 相关阅读:
    走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
    走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
    走进JavaWeb技术世界6:Tomcat5总体架构剖析
    走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程
    走进JavaWeb技术世界4:Servlet 工作原理详解
    走进JavaWeb技术世界3:JDBC的进化与连接池技术
    [转]115个Java面试题和答案——终极列表(下)
    [转]115个Java面试题和答案——终极列表(上)
    [转]Spring MVC 4常用的那些注解
    [转]spring4.x注解概述
  • 原文地址:https://www.cnblogs.com/kai-/p/13380787.html
Copyright © 2020-2023  润新知