【Python函数007】怎么使用argparse函数

发布时间:2023年12月22日

一、简介

????????argparse 是 Python 的标准库之一,用于编写用户友好的命令行接口。它提供了一种方式来定义您希望从命令行接受什么参数,以及如何处理这些参数。使用 argparse可以轻松地解析命令行参数,并将其值转换为适当的 Python 数据类型。

二、基本概念和用法

1、创建解析器

????????首先,您需要创建一个 ArgumentParser 对象。这个对象将包含您所有的命令行选项和参数。

import argparse

parser = argparse.ArgumentParser(description='这是一个示例程序')

2、添加参数

????????使用 add_argument 方法向解析器添加参数。例如,要添加一个名为 --input 的位置参数:

parser.add_argument('--input', type=str, help='输入文件路径')

3、解析参数

????????使用解析器对象的 parse_args 方法来解析命令行参数。这会返回一个命名空间,其中包含了所有命令行参数的值。

args = parser.parse_args()

print(args.input) # 输出:输入文件的路径(如果提供了的话)

4、参数类型

argparse 支持多种参数类型,如 str, int, float, bool 等。

(1)字符

parser.add_argument('--input', type=str, help='输入文件路径')

(2)整型/浮点数

parser.add_argument('--input', type=int/float, help='输入文件路径')

(3)布尔值

parser.add_argument('--input', action="store_true", help='输入文件路径')

5、参数默认值

????????可以使用 default 参数为参数设置默认值。如果命令行中没有提供该参数,那么它的值将是这个默认值。

parser.add_argument('--output', type=str, default='output.txt', help='输出文件路径')

6、位置参数和可选参数

????????位置参数是必须提供的参数,而可选参数是以 -- 开头的参数。例如:

? ? ? ? (1)位置参数

parser.add_argument('input', type=str, default='output.txt', help='输入文件路径')

? ? ? ? (2)可选参数

parser.add_argument('--input', type=str, default='output.txt', help='输入文件路径')

7、参数组

????????可以使用 add_mutually_exclusive_group 方法添加互斥的选项组。例如,如果您想让用户选择 --input 或 --output,可以这样:

group = parser.add_mutually_exclusive_group(required=True)

group.add_argument('--input', type=str, help='输入文件路径')

group.add_argument('--output', type=str, help='输出文件路径')

8、可选参数

????????可以使用 nargs='?' 表示这个参数是可选的。

parser.add_argument('--input', action="store_true", nargs='?', help='输入文件路径')

9、必须参数

????????可以使用 required=False 表示这个参数不是必须的。

parser.add_argument('--input', action="store_true", required=False, help='输入文件路径')

三、更多高级功能

? ? ? ? (1)命令行缩写:使用 choices 指定可选值的范围。例如,choices=['a', 'b'] 将限制选项为 'a' 或 'b'。

? ? ? ? (2)参数的互斥性:使用 mutually_exclusive_group 确保某些选项不一起使用。

? ? ? ? (3)使用前缀添加额外的帮助信息或使用不同的标记等。

四、帮助信息

????????使用 print(parser.format_help()) 可以打印出帮助信息,这对于用户了解如何使用您的程序非常有用。此外,还可以使用 --help 选项在命令行中快速查看帮助信息。

文章来源:https://blog.csdn.net/m0_46489757/article/details/135153966
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。