• Python实用模块之argparse


    argparse库(argument_parse, 参数解析) 是用来给python脚本传入参数的库。

    1.什么是给脚本传参

    比如说我们有一个叫mycode.py的python脚本,我们在命令行里运行它
    1、不带参数的运行:

    python mycode.py
    
    • 1

    2、带参数的运行:

    python mycode.py 520 1314 -love
    
    • 1

    520 和 1314这样的叫做positional arguments(必选参数)
    -love这样的叫做optional arguments (可选参数,用-引出)
    参数会被python读取,然后加以利用,这就是传入参数。

    2.argparse使用方法

    step1:创建ArgumentParser对象,argparse.ArgumentParser类

    argparse.ArgumentParser()
    
    • 1

    step2:给ArgumentParser对象添加参数,add_argument函数是核心!!

    add_argument(name="参数名",default=默认值,choices=[装可选参数的list],
    type=类型,help="参数说明",required=True/False是否必须有)
    
    • 1
    • 2

    例子:

    import argparse
    parser = argparse.ArgumentParser()
    #这个parse对象相当于一个总容器,存放着全部的信息
    parser.add_argument("a",type=int)
    #添加一个positional arguments,叫a,读取类型为int(默认是字符串)
    parser.add_argument("b",type=int)
    #添加一个positional arguments,叫b,读取类型为int(默认是字符串)
    args = parser.parse_args()
    #parse_args的类型是Namespaces,相当于一个字典,存放着所有positional arguments
    sum=args.a+args.b       #从args调出参数a和b,求和
    print(sum)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    命令行:(在当前目录)

    python mycode.py 1 2
    
    • 1

    加文字描述,方便用户查看:
    两种文字描述:
    1、整个python文件: description=‘此代码用于求两个整数之和’
    2、每个positional argument:help=“第一个整数”

    import argparse
    parser = argparse.ArgumentParser(description='此代码用于求两个整数之和')
    #这个parse对象相当于一个总容器,存放着全部的信息
    parser.add_argument("a", type=int,help="第一个整数")
    #添加一个positional arguments,叫a,读取类型为int(默认是字符串)
    parser.add_argument("b",type=int,help="第二个整数")
    #添加一个positional arguments,叫b,读取类型为int(默认是字符串)
    args = parser.parse_args()
    #parse_args的类型是Namespaces,相当于一个字典,存放着所有positional arguments
    sum=args.a+args.b       #调出参数a和b,求和
    print(sum)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    JAVA每日面试题
    Nginx日志有哪些常用的分析
    I/O控制方式(程序直接控制方式,中断驱动方式,DMA方式,通道控制方式)
    【Python模块】日期时间
    Mangopi MQ-R:T113-s3(五)Tina系统USB摄像头推流
    【Java】Java 11 新特性概览
    lua profile 性能分析工具都有哪些
    K线形态识别_两阴夹一阳(两黑夹一红)
    Linux 禁止用户或 IP通过 SSH 登录
    爆冷?黑马?这次用python来给你推测一波.....
  • 原文地址:https://blog.csdn.net/weixin_54338498/article/details/127756653