博客
关于我
python argparse模块
阅读量:806 次
发布时间:2023-03-05

本文共 2799 字,大约阅读时间需要 9 分钟。

argparse 模块指南

argparse 是 Python 中用于解析命令行参数和选项的标准模块,取代了已过时的 optparse 模块。它提供了更加灵活和强大的命令行参数处理能力。

1. 基本使用步骤

  • 导入模块

    首先需要导入 argparse 模块。

    import argparse
  • 实例化解析器

    创建一个 ArgumentParser 实例,默认参数中包含一些基本选项,如 description 用于设置描述信息。

    parser = argparse.ArgumentParser(description='解析命令行参数')
  • 添加参数和选项

    使用 add_argument 方法逐个添加参数或选项。可以设置各类选项,包括位置参数、选项参数、文件参数等。

    parser.add_argument('echo', type=int)
  • 解析参数

    使用 parse_args 方法解析命令行参数,并获取结果。

    args = parser.parse_args()
  • 2. 添加位置参数

    位置参数是直接放在命令行语句中的参数,通常没有短选项或长选项。

    def test01():    parser = argparse.ArgumentParser(description='解析命令行参数')    args = parser.parse_args()    print(args)    # 运行时需添加参数,如:    # $ python test01.py arg_test

    示例运行结果

    $ python test01.py arg_testusage: test01.py [-h] [--help]usage: test01.py [-h] [--help] 

    3. 添加参数说明

    可以通过 help 参数为位置参数设置说明信息。

    def test02():    parser = argparse.ArgumentParser()    parser.add_argument('echo', help='直接打印这个参数的值')    args = parser.parse_args()    print(args.echo)    print(args)

    使用方法

    $ python test02.py arg_test

    示例输出

    直接打印这个参数的值['arg_test']

    4. 设置参数数据类型

    可以通过 type 参数指定参数的数据类型。

    def test03():    parser = argparse.ArgumentParser(description='解析命令行参数')    parser.add_argument('echo', type=int)    args = parser.parse_args()    print(args.echo, type(args.echo))    print(args)

    示例运行结果

    $ python test03.py 123123 

    5. 使用文件作为参数

    可以将文件路径作为参数传递,并读取文件内容。

    def test04():    parser = argparse.ArgumentParser()    parser.add_argument('file', type=argparse.FileType('r'))    args = parser.parse_args()    for line in args.file:        print(line.strip())

    示例运行结果

    $ python test04.py file.txt

    6. 定义参数默认值

    可以通过 default 参数设置参数的默认值,解决必须传入参数的需求。

    def test05():    parser = argparse.ArgumentParser()    parser.add_argument('echo', default='默认值')    args = parser.parse_args()    print(args.echo)    print(args)

    示例运行结果

    $ python test05.py默认值

    7. 设置参数候选值

    可以使用 choices 参数限制参数的候选值,并结合 default 设置默认值。

    def test06():    parser = argparse.ArgumentParser(description='解析命令行参数')    parser.add_argument('echo', choices=['a', 'b', 'c'], default='a')    args = parser.parse_args()    print(args.echo, type(args.echo))    print(args)

    示例运行结果

    $ python test06.py aa 

    8. 定义选项参数

    可以通过 add_argument 添加选项参数,通常使用 -v--verbose 作为示例。

    def test07():    parser = argparse.ArgumentParser(description='解析命令行参数')    parser.add_argument('-v', '--verbose', help='增加详细信息')    args = parser.parse_args()    print(args.verbose)    print(args)

    示例运行结果

    $ python test07.py --verboseTrue

    9. 指定选项参数的变量名

    可以通过 dest 参数指定参数的变量名,适用于需要自定义变量名的情况。

    def test08():    parser = argparse.ArgumentParser(description='解析命令行参数')    parser.add_argument('-v', '--verbose', dest='ver', required=True)    args = parser.parse_args()    print(args.ver)    print(args)

    示例运行结果

    $ python test08.py --verbose --ver verbose_valueverbose_value

    通过以上示例,可以了解如何在 Python 中使用 argparse 模块来解析命令行参数和选项。每个示例都提供了完整的代码和运行结果,方便快速学习和实践。

    转载地址:http://cvafk.baihongyu.com/

    你可能感兴趣的文章
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>
    python 关于epoll的学习
    查看>>
    Python 内存管理
    查看>>
    Python 内嵌函数:它们有什么用处?
    查看>>