zoukankan      html  css  js  c++  java
  • Python—Argparse

    Python—Argparse

    argparse 是 python 用于解析命令行参数和选项的标准模块,用于代替已经过时的optaparse模块。argparse模块的作用是用来解析命令行参数

    使用步骤

    首先导入该模块

    创建一个解析对象

    import argparse
    parser = argparse.ArgumentParser()
    

    在该对象中添加你需要的命令行参数,和选项

    parser.add_argument("--square",  type=int, help = "display a square of a given number")
    # parser.add_argument("-v", "--verbosity", type=int, choices=[0,1,2],  help="increase output verbosity")
    parser.add_argument("-v", "--verbosity", action="count", default = 0, help="increase output verbosity")
    

    每一个add_argument()对应一个你要关注的参数或选项;

    最后调用parse_args()方法进行解析

    args = parser.parse_args()
    

    举例1:

    默认情况下,有一个help的命令

    import argparse
    parser = argparse.ArgumentParser()
    parser.parse_args()
    

    输出结果:

    image-20211109162120019

    添加响应的指令行选项:

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("Haha", help = "echo the string you use here")
    args = parser.parse_args()
    print(args.Haha)
    

    结果如下,回显你写下的内容。

    image-20211109163830064

    举例2:

    计算平方,并且选择表现形式

    import argparse
    
    parser = argparse.ArgumentParser()
    
    
    parser.add_argument("--square",  type=int, help = "display a square of a given number")
    
    parser.add_argument("-v", "--verbosity", action="count", default = 0, help="increase output verbosity")
    
    args = parser.parse_args()
    ans = args.square**2
    
    if args.verbosity >= 2:
        print(f"the square of {args.square} equals {ans}")
    elif args.verbosity >= 1:
        print(f"{args.square}^2 == {ans}")
    else:
        print(ans)
    

    注意这个action,可选 count 判断参数个数,(注意,此处还使用了default,来保证若不输入值则默认为0)

    运行后得到结果为:

    image-20211109182619709

    action里还可以选用其他不同的属性值。

    也可以不用action,使用choices,例如choices=[0,1,2]

  • 相关阅读:
    国家标准比例尺地形图说明(摘要自SuperMap Objects Document)
    常用日期函数
    CMD执行BCP命令
    如何利用.snk文件生成DLL文件中的Publickeytoken
    SQL SERVER数据库的表中修改字段属性被阻止“Prevent saving changes that require table recreation”
    如何生成DLL文件
    如何反编译DLL文件
    Visual Studio 2022激活密钥
    sqlserver跨数据库查询
    jQuery对象与DOM对象之间的转换
  • 原文地址:https://www.cnblogs.com/jev-0987/p/15530487.html
Copyright © 2011-2022 走看看