zoukankan      html  css  js  c++  java
  • Python参数解析工具ArgumentParser

    通过命令行运行Python脚本时,可以通过ArgumentParser来高效地接受并解析命令行参数。

    流程

    新建一个ArgumentParser类对象,然后来添加若干个参数选项,最后通过parse_args()方法解析并获得命令行传来的参数。

    import argparser
    
    parser = argparser.ArgumentParser()
    # 此处省略添加若干个参数选项的详细步骤
    # ...
    parser.parse_args()
    

    最后通过parser.<argument_name>来获取传递过来的参数。

    添加参数选项

    使用add_argument()来添加参数选项

    # 添加位置参数
    parser.add_argument("echo", help="echo the string you use here")
    parser.add_argument("square", help="display ...", type=int)
    # 添加可选参数
    parser.add_argument("-v", "--verbosity", help="...", type=int, choices=[0, 1, 2], default=0)
    

    对以上代码做出如下解释:

    • 在使用add_argument来添加参数选项的时候,首先要指定参数的名字argument_name这个属性,可选参数有长短两个名称;
    • 在命令行指定位置参数时直接传值,指定可选参数时,先注明长短名称,然后在后面接值;
    • help提示参数的作用,type规定了参数的取值类型,choices以列表的形式规定了值域,default规定了参数的默认值

    参数选项组

    使用add_mutually_exclusive_group()来添加相互对立的参数选项组

    一个对立的可选参数组在指定参数时,只能任选其一或都不选

    # 导入模块和新建ArgumentParser类的过程省略
    group = parser.add_mutually_exclusive_group()
    group.add_argument("-d", "--down")
    group.add_argument("-t", "--top")
    # ...
    

    最后获取参数时,仍旧是通过parser.downparser.top.

    额外的小插曲

    对于可选参数还有一个action属性,常见的有store_truecount两种

    # 指定-v可选参数时,-v等于True,否则为False
    parser.add_argument("-v", action="store_true")
    # 指定-v可选参数时,-v等于v出现的次数
    parser.add_argument("-v", action="count")
    
  • 相关阅读:
    js中面向对象的写法
    js中防止全局变量被污染的方法
    移动端的头部标签和meta
    励志
    UX是什么?
    HTTP
    Django RestFramework (DRF)
    Vue(一)
    Vue-基础
    Vue-es6基础语法
  • 原文地址:https://www.cnblogs.com/YoungF/p/12047753.html
Copyright © 2011-2022 走看看