📜  在 python 脚本中添加选项 - Python (1)

📅  最后修改于: 2023-12-03 14:51:06.781000             🧑  作者: Mango

在 Python 脚本中添加选项

在开发 Python 脚本的过程中,有时候需要为脚本添加命令行选项,以便通过命令行参数控制程序行为。Python 自带了一个 argparse 模块,可以方便地实现命令行选项的解析与处理。

argparse 模块概述

argparse 模块提供了一个简单而灵活的方式来处理命令行选项。它可以自动生成帮助文档,并且支持类型验证、默认值、必需选项、互相排斥的选项等等。

argparse 的基本使用流程如下:

  1. 创建 argparse.ArgumentParser 对象
  2. 定义命令行选项,包括选项名称、类型、默认值、帮助信息等等
  3. 调用 parse_args() 方法解析命令行参数
  4. 根据解析结果执行相应的操作
示例代码

以下是一个简单的示例代码,演示了如何使用 argparse 模块为 Python 脚本添加命令行选项。

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                    const=sum, default=max,
                    help='sum the integers (default: find the max)')

args = parser.parse_args()
print(args.accumulate(args.integers))

这个脚本接受一个或多个整数作为参数,并且支持一个可选的 --sum 选项。如果指定了 --sum 选项,则将输入的整数求和;否则找出输入整数中的最大值。

运行示例代码

命令行运行示例代码的方式如下(假设 Python 脚本文件名为 demo.py):

$ python demo.py -h
usage: demo.py [-h] [--sum] N [N ...]

Process some integers.

positional arguments:
  N           an integer for the accumulator

optional arguments:
  -h, --help  show this help message and exit
  --sum       sum the integers (default: find the max)

$ python demo.py 1 2 3 4 5
5

$ python demo.py --sum 1 2 3 4 5
15
总结

argparse 是 Python 内置的命令行选项解析模块,使用简单,功能强大。通过添加适当的命令行选项,可以让 Python 脚本更加灵活可控。