argparse是Python标准库中的一个模块,它可以帮助我们轻松地编写命令行界面(CLI)程序。argparse模块提供了一种简单而灵活的方式来处理命令行参数,使得我们可以轻松地编写具有复杂参数的CLI程序。
argparse模块的主要功能是解析命令行参数并生成帮助和使用信息。它还可以自动生成错误消息和使用信息,并支持多种不同类型的参数,例如布尔型、整数、浮点数、字符串等。
下面是一个简单的示例,演示了如何使用argparse模块来解析命令行参数:
import argparse
parser = argparse.ArgumentParser(description="计算x的y次方")
parser.add_argument("x", type=int, help="x")
parser.add_argument("y", type=int, help="y")
parser.add_argument("-v", "--verbose", action="store_true", help="打印详情")
args = parser.parse_args()
x = args.x
y = args.y
if args.verbose:
print(f"x的y次方等于{x**y}")
else:
print(x**y)
- add_argument第一个参数形式为字符串,如x,y,表示是位置参数,它们的顺序不能颠倒,且为必选项;
- type=int表示将输入的参数转化为整数类型;
- help表示参数的帮助信息
- "-v"为短选项,”--verbose“为完整选项,它们是等价的,且表示为可选项,其输入顺序没有关系;
- action="store_true"表示包含-v或--verbose选项时,参数对应的值为True;
在上面的示例中,实现了通过命令行获取参数x、y并计算x的y次方的程序,第一个参数为x、第二个参数为y,如果输入-v或--verbose则打印详细的结果,否则直接显示最终结果。
-h或--help显示帮助信息
$python .\prog.py 2 3 -h
usage: prog.py [-h] [-v] x y
计算x的y次方
positional arguments:
x x
y y
optional arguments:
-h, --help show this help message and exit
-v, --verbose 打印详情
命令行参数运行结果展示
$ python .\prog.py 2 3
8
$ python .\prog.py 2 3 -v
x的y次方等于8
$ python .\prog.py 2 3 --verbose
x的y次方等于8
$ python .\prog.py 2 --verbose 3
x的y次方等于8
参考文献
[1] Argparse 教程 — Python 3.11.2 文档;