• python命令行解释器 argparse


    一: argparse介绍

    1.  argparse

    argparse,它是Python标准库中推荐使用的编写命令行程序的工具

    有三个功能: 

    -处理可选位置参数
    -生成详细的使用说明
    -支持分派到子解析器的解析器

    parser = argparse.ArgumentParser()  创建一个实例,
    #parser.parse_args()    parse_args方法是从命令行的参数中返回了一些默认或指定的参数信息。
    #print dir(parser)
    parser.add_argument('square',help=' **2 ',type = int)  添加一个positional arguments(暂时不明白它的意思)

    注: 这里参数的类型目前有两类: positional arguments   optional arguments
    #parser.add_argument('-t', metavar='THREADS', type=int, default=20,
    #                        help='Num of scan threads for each scan process, 20 by default')
    上面的方式可以把选项添加到optional参数中。

    args = parser.parse_args()
    print args.square **2   注意这里,args.xxx,xxx必须是add_argument添加的参数名称

    2.  add_argument 方法

    add_argument:读入命令行参数,该调用有多个参数
    ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

    name or flags:是必须的参数,该参数接受选项参数或者是位置参数(一串文件名)

    """

    >>> pp = argparse.ArgumentParser()
    >>> pp.add_argument('-a',type=int,default = 1234567)
    _StoreAction(option_strings=['-a'], dest='a', nargs=None, const=None, default=1234567, type=<type 'int'>, choices=None, help=None, metavar=None)
    >>> args = pp.parse_args()
    >>> args
    Namespace(a=1234567)
    >>> dir(args)
    ['__class__', '__contains__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_get_args', '_get_kwargs', 'a']
    >>> print args.a
    1234567
    >>>

    """

    https://docs.python.org/2/howto/argparse.html#id1

    中文参考:

    http://songpengfei.iteye.com/blog/1440158          介绍argparse模块的每个参数            

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21633169&id=4387657  对add_argument方法介绍的较为详细         

  • 相关阅读:
    Java中“==”与equals的区别以及equals方法的重写
    Java中的Switch....case语句:
    Java中的基本数据类型
    HTTP与HTTPS的区别
    深入理解HTTP协议、HTTP协议原理分析
    IntelliJ IDEA下的使用git
    Spring RestTemplate详解
    Java 适配器(Adapter)模式
    LINUX的ssh免密码配置
    CDH6.2安装配置第一篇:CDH配置本地http服务
  • 原文地址:https://www.cnblogs.com/spacepirate/p/5417928.html
Copyright © 2020-2023  润新知