argparse 模块是 Python 标准库的一部分,它使得编写用户友好的命令行接口变得简单。通过该模块,你可以生成帮助信息和解析命令行参数,同时还能自动生成命令的帮助和使用信息。

基本用法

首先,你需要导入 argparse 模块,并创建一个 ArgumentParser 对象。然后,你就可以添加参数到这个对象中,并最终调用 parse_args() 方法来解析传入的参数。

下面是一个简单的例子:



import argparse

# 创建解析器

parser = argparse.ArgumentParser(description='命令行示例')

# 添加参数

parser.add_argument('--name', type=str, default='world', help='你的名字')

# 解析参数

args = parser.parse_args()

print(f"你好, {args.name}")

在这个例子中,我们定义了一个名为 --name 的可选参数,其默认值为 'world'。如果用户在命令行输入了 --name 参数,则会使用提供的值替换默认值。

示例详解

添加位置参数

位置参数是指那些必须提供的参数,它们按照顺序出现在命令行中。

parser.add_argument('filename', type=str, help='要处理的文件名')

添加可选参数

可选参数通常以 - 或 -- 开头,用户可以选择是否提供这些参数。

parser.add_argument('--verbose', '-v', action='store_true', help='启用详细输出')

指定参数类型

使用 type 参数可以指定参数应转换成的数据类型。

parser.add_argument('--number', type=int, help='一个整数')

设置默认值

如果没有提供某个参数,可以通过 default 来设定默认值。

parser.add_argument('--output', default='output.txt', help='输出文件名')

处理布尔标志

当使用 action='store_true' 时,如果指定了该参数,则其值为 True;否则为 False。

parser.add_argument('--debug', action='store_true', help='启用调试模式')

互斥参数组

在某些情况下,你可能希望用户提供一组参数中的一个。这可以通过 add_mutually_exclusive_group() 方法实现。



group = parser.add_mutually_exclusive_group()

group.add_argument('--extract', action='store_true', help='提取操作')

group.add_argument('--compress', action='store_true', help='压缩操作')

子命令支持

argparse 支持子命令,这对于构建复杂的命令行工具非常有用。



subparsers = parser.add_subparsers(help='命令帮助')

parser_a = subparsers.add_parser('command_a', help='命令A的帮助')

parser_a.add_argument('--option', help='选项')

运行程序

假设上述代码保存为 example.py 文件,可以通过以下方式运行并传递参数:

提供位置参数:

python example.py input.txt

提供可选参数:

python example.py --verbose --number=5

查看帮助信息:

python example.py -h

argparse 模块的强大之处在于它能够自动处理参数解析、错误检查以及帮助信息的生成,极大地简化了命令行应用程序的开发过程。无论你是需要构建简单的脚本还是复杂的应用程序,argparse 都能提供必要的功能和支持。

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐