程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python argsparse模块实现命令行参数

hfteth 2025-02-21 13:29:51 技术文章 12 ℃

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 文档;

Tags:

最近发表
标签列表