avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home 使用argparse模块解析命令行参数
文章

使用argparse模块解析命令行参数

Posted 2024-11-2 Updated 2024-11- 1
By RWO.
8~10 min read

在 Python 中,argparse 模块用于解析命令行参数,使得脚本可以更灵活地接受用户输入。以下是如何使用 argparse 模块解析命令行参数的详细介绍和示例。

基本用法

示例:简单的命令行参数解析

首先,创建一个简单的脚本来解析命令行参数。我们将创建一个脚本,该脚本接受两个整数并打印它们的和。

import argparse

def main():
    # 创建解析器
    parser = argparse.ArgumentParser(description="计算两个整数的和")

    # 添加参数
    parser.add_argument("num1", type=int, help="第一个整数")
    parser.add_argument("num2", type=int, help="第二个整数")

    # 解析参数
    args = parser.parse_args()

    # 计算和
    result = args.num1 + args.num2
    print(f"{args.num1} + {args.num2} = {result}")

if __name__ == "__main__":
    main()

运行示例

保存上述脚本为 sum.py,然后在命令行中运行:

python sum.py 3 5

输出:

3 + 5 = 8

添加可选参数

示例:带有可选参数的脚本

现在我们将扩展示例,添加一个可选参数来选择不同的运算(加法、减法、乘法、除法)。

import argparse

def main():
    # 创建解析器
    parser = argparse.ArgumentParser(description="进行简单的算术运算")

    # 添加位置参数
    parser.add_argument("num1", type=int, help="第一个整数")
    parser.add_argument("num2", type=int, help="第二个整数")

    # 添加可选参数
    parser.add_argument("-o", "--operation", choices=["add", "subtract", "multiply", "divide"], default="add", help="选择运算类型")

    # 解析参数
    args = parser.parse_args()

    # 执行运算
    if args.operation == "add":
        result = args.num1 + args.num2
    elif args.operation == "subtract":
        result = args.num1 - args.num2
    elif args.operation == "multiply":
        result = args.num1 * args.num2
    elif args.operation == "divide":
        result = args.num1 / args.num2

    print(f"结果: {result}")

if __name__ == "__main__":
    main()

运行示例

保存上述脚本为 calculator.py,然后在命令行中运行:

python calculator.py 10 5 -o add

输出:

结果: 15
python calculator.py 10 5 -o subtract

输出:

结果: 5

高级用法

示例:处理布尔值、列表和默认值

在这个示例中,我们将展示如何处理布尔值、列表和设置默认值。

import argparse

def main():
    # 创建解析器
    parser = argparse.ArgumentParser(description="高级命令行参数解析示例")

    # 添加参数
    parser.add_argument("--verbose", action="store_true", help="启用详细输出")
    parser.add_argument("--numbers", type=int, nargs="+", help="输入一组整数")
    parser.add_argument("--output", type=str, default="result.txt", help="输出文件(默认: result.txt)")

    # 解析参数
    args = parser.parse_args()

    # 处理布尔值
    if args.verbose:
        print("详细输出已启用")

    # 处理列表
    if args.numbers:
        print(f"输入的整数: {args.numbers}")
        print(f"它们的和: {sum(args.numbers)}")

    # 输出文件
    print(f"结果将保存到: {args.output}")

if __name__ == "__main__":
    main()

运行示例

保存上述脚本为 advanced_parser.py,然后在命令行中运行:

python advanced_parser.py --verbose --numbers 1 2 3 4 5

输出:

详细输出已启用
输入的整数: [1, 2, 3, 4, 5]
它们的和: 15
结果将保存到: result.txt
python advanced_parser.py --numbers 10 20 30 --output output.txt

输出:

输入的整数: [10, 20, 30]
它们的和: 60
结果将保存到: output.txt

总结

通过 argparse 模块,Python 脚本可以灵活地解析命令行参数,支持位置参数、可选参数、布尔值、列表和默认值等多种功能。使用 argparse 可以显著提升脚本的可用性和用户体验。

短视频
每日一点 短视频 Python
License:  CC BY 4.0
Share

Further Reading

Nov 3, 2024

什么是 python 的闭包

在 Python 中,闭包(Closure)是一种函数对象,它不仅包含了函数的代码,还包含了函数创建时的环境变量。这意味着闭包可以“记住”其外部作用域中的变量,即使在外部作用域已经结束后,闭包仍然可以访问这些变量。 函数可以访问他被创建时所处的上下文环境,这被称为闭包。 闭包的基本特征 嵌套函数:闭

Nov 2, 2024

使用argparse模块解析命令行参数

在 Python 中,argparse 模块用于解析命令行参数,使得脚本可以更灵活地接受用户输入。以下是如何使用 argparse 模块解析命令行参数的详细介绍和示例。 基本用法 示例:简单的命令行参数解析 首先,创建一个简单的脚本来解析命令行参数。我们将创建一个脚本,该脚本接受两个整数并打印它们的

Nov 1, 2024

Python中的二维码生成与解析(花里胡哨)

如何使用 qrcode 库生成各种有趣的二维码,包括彩色二维码、带 Logo 的二维码和动态 GIF 二维码。下面,我们将逐步介绍这些功能。 Qrcode 库简介 qrcode 库是一个强大的 Python 工具,用于生成二维码。除了基本的二维码,它还支持自定义功能,如颜色变化、样式设计和动画效果。

OLDER

Python中的二维码生成与解析(花里胡哨)

NEWER

什么是 python 的闭包

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy