• 介绍argparse的使用【Python标准库】


    简介

    argparse 模块是Python标准库中的一个模块,用于处理命令行参数解析。它的主要作用是帮助开发者创建命令行界面,允许用户指定运行脚本时的参数,从而定制脚本的行为。本篇博客是博主自己的学习心得,简要介绍了argparse 模块的基本使用,并提供了相关的Python代码示例以供参考。

    argparse标准库的核心功能介绍

    argparse 模块的使用规范一般包含以下三个步骤:

    1. 实例化一个argparse.ArgumentParser对象;
    2. 调用ArgumentParser的类方法add_argument()添加位置参数【pisition argment】或者可选参数【option argment】;
    3. 调用ArgumentParser的类方法parse_args() 解析参数。
      以下总结了Python标准库中argparse模块中argparse.ArgumentParser()ArgumentParser.add_argument()以及ArgumentParser.parse_args()的作用和用法:
    类/方法作用和用法
    argparse.ArgumentParser()创建命令行解析器对象。用于定义和管理命令行参数,生成用户友好的帮助文档,并解析用户提供的参数。
    ArgumentParser.add_argument()用于在ArgumentParser对象中定义和配置命令行参数,包括位置参数和选项参数的名称、帮助文档、默认值等。
    ArgumentParser.parse_args()解析用户在命令行中提供的参数,并返回一个命名空间对象,其中包含了用户提供的参数的值。

    以下是 argparse.ArgumentParser() 中常用参数的作用和说明:

    参数作用和说明
    prog程序的名称,通常自动从 sys.argv[0] 获取,也可以手动指定。
    usage程序的使用信息,通常自动从参数定义中生成。
    description程序的描述信息,通常用于生成帮助文档。
    epilog帮助文档的结尾信息。
    formatter_class帮助文档格式化类,默认为 argparse.HelpFormatter
    prefix_chars选项参数前缀字符,默认为 '-'
    fromfile_prefix_chars指定读取参数值的文件的前缀字符,默认为 None
    argument_default参数的默认值,通常为 None
    conflict_handler用于处理参数冲突的函数,默认为 'error'
    add_help是否自动添加 -h--help 选项用于显示帮助信息,默认为 True
    parents一个 ArgumentParser 对象的列表,用于包含其他解析器的参数。


    以下是 add_argument() 方法中常用参数的作用和说明:

    参数作用和说明
    *name_or_flags参数的名称或选项标志。通常,位置参数使用名称,选项参数使用标志。
    action指定参数的行为。【‘store’, ‘store_const’, ‘store_true’, ‘append’, ‘append_const’, ‘count’, ‘help’, ‘version’】
    nargs参数的个数,可以是固定值,如 1,或 * 表示零个或多个,或 + 表示至少一个。
    const一个常数值,用于与参数的 action 一起使用,如 store_const
    default参数的默认值,如果用户未提供参数,则使用默认值。
    type参数的类型,如 intfloatstr 等。
    choices限制参数的取值范围,可以是一个列表或元组。
    required指定参数是否必须提供,通常是 TrueFalse
    help参数的帮助文档,将在用户请求帮助时显示。
    metavar在帮助文档中显示参数的占位符,用于描述参数的值。
    dest指定结果命名空间中使用的属性名称

    在这里插入图片描述

    注意:

    • parse_args() 解析后将返回一个存储有add_argument()添加的所有参数的argparse.Namespace类示例,通过读取这个类示例的属性,我们就可以得到相关的参数和值。
    • add_argument()方法会自动添加一组默认参数(--help-h),用户不能再次通过add_argument()方法添加这组参数,否则会报错。错误信息如下:argparse.ArgumentError: argument -h/--help: conflicting option strings: -h, --help在这里插入图片描述

    Python代码示例

    下方程序将从终端接受一个或者一系列整数并生成总和或最大值

    import argparse
    
    parser = argparse.ArgumentParser(description='Process some integers.')
    parser.add_argument('integers', metavar='N', type=int, nargs='+',
                        help='an integer for the accumulator')
    parser.add_argument('--sum', dest='accumulate', action='store_const',
                        const=sum, default=max,
                        help='sum the integers (default: find the max)')
    
    args = parser.parse_args()
    print(args.accumulate(args.integers))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    参考

    1. Python文档:Argparse Tutorial
    2. Python文档:argparse — Parser for command-line options, arguments and sub-commands

    收集整理和创作不易, 若有帮助🉑, 请帮忙点赞👍➕收藏❤️, 谢谢!✨✨🚀🚀

  • 相关阅读:
    HTML5--全局属性--事件
    可能是2022最详细的结构体讲解
    java学习day22(网络编程)网络编程
    property语法
    面向谓词/规则编程(二)
    C# 结构体介绍
    Spring与Docker:如何容器化你的Spring应用
    【计算机网络】UDP协议详解
    线程与线程锁
    基于spark进行数据分析的心力衰竭可视化大屏项目
  • 原文地址:https://blog.csdn.net/KRISNAT/article/details/133928269