Python argparse 解析命令行参数模块详情

yizhihongxing

Python argparse 解析命令行参数模块详情

Python argparse 是 Python 核心库中用于解析命令行参数的模块,它可以非常方便地处理命令行参数,提供了丰富的功能和选项。本文将介绍 argparse 模块的用法,让你明白如何在 Python 代码中使用 argparse 来解析命令行参数。

简介

argparse 模块是 Python 核心库中自带的一个模块,它可以轻松地从命令行解析参数和选项。它具有非常强大的功能,可以处理位置参数和可选参数,并且可以生成帮助文档,支持默认值,类型转换等。通过 argparse,我们可以在代码中定义一个命令行界面,并且可以非常灵活地根据需求来使用它。

argparse 的基本用法

argparse 的基本用法包括三个步骤:

  1. 创建一个 ArgumentParser 对象
  2. 将要解析的参数和选项添加到 ArgumentParser 对象中
  3. 调用 parse_args() 方法来解析参数

下面是一个简单的示例,它演示了如何使用 argparse 来解析命令行参数:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('input', help='Input file')
parser.add_argument('-o', '--output', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.input))
print('Output file: {}'.format(args.output))

在这个示例中,首先创建了一个 ArgumentParser 对象,并给它设置了描述信息。然后添加了两个参数,'input' 为位置参数,'-o' 或 '--output' 为可选参数。最后调用 parse_args() 方法解析参数,并且输出参数的值。

现在可以在终端执行这个脚本,例如:

python script.py input.txt -o output.txt

这将会输出:

Input file: input.txt
Output file: output.txt

argparse 支持的参数类型

argparse 支持多种参数类型,例如:字符串、整数、浮点数、布尔值、列表等等。默认情况下,argparse 会将参数解析为字符串。可以使用 type 参数来指定参数的类型。

下面是一个示例,演示如何使用 type 参数来将参数解析为整数:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('number', type=int, help='Input an integer')

args = parser.parse_args()

print('Input number: {}'.format(args.number))

现在可以在终端执行这个脚本,例如:

python script.py 123

这将会输出:

Input number: 123

argparse 支持的参数选项

argparse 支持多种参数选项,例如:短选项、长选项、互斥选项、必选选项、可选选项等等。下面是一些示例,演示了如何在 argparse 中定义和使用这些选项。

短选项

下面的示例演示了如何使用单个字母作为短选项:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('-i', help='Input file')
parser.add_argument('-o', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.i))
print('Output file: {}'.format(args.o))

现在可以在终端执行这个脚本,例如:

python script.py -i input.txt -o output.txt

这将会输出:

Input file: input.txt
Output file: output.txt

长选项

下面的示例演示了如何使用多个字母作为长选项:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('--input', help='Input file')
parser.add_argument('--output', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.input))
print('Output file: {}'.format(args.output))

现在可以在终端执行这个脚本,例如:

python script.py --input input.txt --output output.txt

这将会输出:

Input file: input.txt
Output file: output.txt

互斥选项

下面的示例演示了如何使用互斥选项:

import argparse

parser = argparse.ArgumentParser(description='Example')
group = parser.add_mutually_exclusive_group()
group.add_argument('--yes', action='store_true', help='Say yes')
group.add_argument('--no', action='store_true', help='Say no')

args = parser.parse_args()

if args.yes:
    print('Yes')
elif args.no:
    print('No')
else:
    print('Please say yes or no')

现在可以在终端执行这个脚本,例如:

python script.py --yes

这将会输出:

Yes

必选选项

下面的示例演示了如何使用必选选项:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('input', help='Input file')
parser.add_argument('output', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.input))
print('Output file: {}'.format(args.output))

现在可以在终端执行这个脚本,例如:

python script.py input.txt output.txt

这将会输出:

Input file: input.txt
Output file: output.txt

可选选项

下面的示例演示了如何使用可选选项:

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('-i', '--input', default='input.txt', help='Input file')
parser.add_argument('-o', '--output', default='output.txt', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.input))
print('Output file: {}'.format(args.output))

现在可以在终端执行这个脚本,例如:

python script.py

这将会输出:

Input file: input.txt
Output file: output.txt

使用 argparse 自动生成帮助文档

argparse 还支持自动生成帮助文档的功能,只需要给 ArgumentParser 对象设置一个描述信息即可。

import argparse

parser = argparse.ArgumentParser(description='Example')
parser.add_argument('input', help='Input file')
parser.add_argument('-o', '--output', help='Output file')

args = parser.parse_args()

print('Input file: {}'.format(args.input))
print('Output file: {}'.format(args.output))

现在可以在终端执行这个脚本,并使用 -h 或 --help 选项来生成帮助文档,例如:

python script.py -h

这将会输出:

usage: script.py [-h] [-o OUTPUT] input

Example

positional arguments:
  input                 Input file

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output file

结论

以上是 Python argparse 解析命令行参数模块的使用攻略,我们可以看到 argparse 的用法非常简单和方便,可以帮助我们轻松地处理命令行参数。如果你有更复杂的需求,argparse 也提供了很多高级的功能,例如子命令、自定义数据类型等等,可以更灵活地处理各种情况。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python argparse 解析命令行参数模块详情 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python语言生成水仙花数代码示例

    下面是关于Python语言生成水仙花数代码示例的完整攻略。 什么是水仙花数? 所谓水仙花数,指的是一个三位数,它的各位数字的立方和等于该数字本身。例如,153就是一个水仙花数,因为1^3+5^3+3^3=153。 生成水仙花数的代码实现 以下是一个Python语言生成水仙花数的简单代码示例: for i in range(100, 1000): sum = …

    python 2023年5月31日
    00
  • 实例讲解Python中整数的最大值输出

    下面是实例讲解Python中整数的最大值输出的完整攻略: 1. 整数的最大值 在Python中,整数类型,即int类型,在不同的机器上有不同的最大值和最小值,但是可以通过sys模块的maxsize属性来获取当前机器上整数的最大值。maxsize属性是一个表示整数的最大值的整数,但它不是Python中所有整数的最大值,只是当前机器上可以表示的整数的最大值。下面…

    python 2023年6月5日
    00
  • Python中死锁的形成示例及死锁情况的防止

    Python中死锁的形成示例及死锁情况的防止 什么是死锁? 死锁指的是多个进程(或线程)因相互等待对方持有的资源而陷入僵局,无法继续向前执行。在 Python 中,由于 GIL(全局解释器锁)的存在,多线程下使用锁可能会产生死锁问题。 死锁的形成 举一个简单的例子,假设有两个线程 A 和 B,共享着两把锁 lockA 和 lockB。如果线程 A 先锁定了 …

    python 2023年5月13日
    00
  • python自制包并用pip免提交到pypi仅安装到本机【推荐】

    下面是详细讲解“python自制包并用pip免提交到pypi仅安装到本机”的完整攻略。 1. 准备工作 首先,我们需要做一些准备工作。 安装python3。可以前往官网下载安装包安装。 安装pip。pip是python的包管理器。在终端(或命令行)中执行以下命令进行安装: python3 -m ensurepip –default-pip 如果出现权限问题…

    python 2023年5月14日
    00
  • Python collections中的双向队列deque简单介绍详解

    Python collections中的双向队列deque简单介绍详解 前言 在Python的collections模块中,deque是一个强大的数据结构,它可以帮助我们实现高效的队列和栈操作。deque是一个双向队列,因此支持从两端进行操作,其实现方式使得它比使用列表实现队列的方式更加高效。 使用方法 创建deque 在使用deque之前,首先需要导入co…

    python 2023年6月3日
    00
  • Python 构建高阶函数

    下面来详细讲解Python构建高阶函数使用方法的完整攻略。 什么是高阶函数? 高阶函数是指可以将其他函数作为参数或返回值的函数。在Python中,函数本身就是一种对象,可以像传递其他数据类型一样传递函数。 高阶函数的使用 使用高阶函数主要包括以下两个方面: 函数作为参数传递 函数作为返回值 1. 函数作为参数传递 常见的高阶函数之一是map()函数,它的作用…

    python-answer 2023年3月25日
    00
  • 使用Python读写及压缩和解压缩文件的示例

    当需要对文件进行读取、写入、压缩和解压缩处理时,Python提供了许多便捷的模块和方法。 读写文件 打开文件 对于文件进行读写操作之前,需要先打开文件,使用Python内置的open()函数实现。open()函数的基本语法如下: f = open(file_path, mode=’r’, encoding=None) 参数说明: file_path:待打开文…

    python 2023年6月2日
    00
  • Python中出现IndentationError:unindent does not match any outer i…

    在Python中,IndentationError是一种常见的错误类型,通常是由于代码缩进不正确引起的。其中,IndentationError: unindent does not match any outer indentation level是一种常见的IndentationError错误,常是由于代码缩进不正确引起的。本攻略将提供解决Python I…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部