argparse
是 Python 标准库中的一个模块,用于编写用户友好的命令行接口。它使得编写用户输入参数的脚本变得简单明了。下面是一个 argparse
的基本用法示例,包括如何定义参数、如何解析命令行输入以及如何处理这些输入。
导入模块
首先,你需要导入 argparse
模块。
import argparse |
创建 ArgumentParser 对象
然后,创建一个 ArgumentParser
对象。这个对象将包含将命令行解析成 Python 数据类型所需的全部信息。
parser = argparse.ArgumentParser(description='示例脚本') |
这里的 description
参数是可选的,用于描述你的脚本。
添加参数
使用 .add_argument()
方法向你的程序添加命令行参数。你可以指定很多选项,但最常用的是 name
或 flags
(例如 -f
或 --foo
)和 help
(参数的简短描述)。
parser.add_argument('--echo', help='显示输入的参数') | |
parser.add_argument('--count', type=int, default=1, help='整数输入,默认为1') |
在这个例子中,我们添加了两个参数:--echo
,它接受一个字符串作为输入;--count
,它接受一个整数作为输入,并有一个默认值 1
。
解析命令行参数
使用 .parse_args()
方法解析命令行参数。这个方法会检查命令行,将参数转换为指定的类型,并生成一个命名空间,其中包含传递给脚本的参数。
args = parser.parse_args() |
使用参数
现在,你可以像访问普通 Python 对象的属性一样访问这些参数了。
if args.echo: | |
print(f'Echo: {args.echo}') | |
print(f'Count: {args.count}') |
完整示例
将上述所有部分组合起来,我们得到以下完整的脚本:
import argparse | |
# 创建 ArgumentParser 对象 | |
parser = argparse.ArgumentParser(description='示例脚本') | |
# 添加参数 | |
parser.add_argument('--echo', help='显示输入的参数') | |
parser.add_argument('--count', type=int, default=1, help='整数输入,默认为1') | |
# 解析命令行参数 | |
args = parser.parse_args() | |
# 使用参数 | |
if args.echo: | |
print(f'Echo: {args.echo}') | |
print(f'Count: {args.count}') |
运行脚本
保存上述脚本为 example.py
,然后在命令行中运行它,并传递一些参数:
python example.py --echo hello --count 3 |
输出将会是:
Echo: hello | |
Count: 3 |
这就是 argparse
的基本用法。通过添加更多的 .add_argument()
调用和逻辑,你可以创建功能丰富且用户友好的命令行工具。