Python add_argument详解

一、介绍

Python是一种高级编程语言,具有简单、易读、开放源代码和跨平台等特性。在Python中,argparse是一个标准库,用于编写命令行接口工具,它可以轻松地生成命令行界面,有效的解析命令行参数。其中,add_argument()是argparse中最重要的函数之一,它允许您指定所需的参数,验证输入并提供帮助信息。

二、基础用法

add_argument()函数的最低要求是指定一个参数名称,通常是一个字符串,这个字符串表示要使用的命令行开关。 命令行开关通常是以”-”或”–”开头的短字符串或长字符串,例如”-h”或”–help”。

示例代码:

import argparse

parser = argparse.ArgumentParser(description='这是一个简单的例子')
parser.add_argument('-u', '--user', help='使用者')
parser.add_argument('-p', '--password', help='密码')

args = parser.parse_args()

user = args.user
password = args.password

print(user, password)

在上面的示例代码中,我们创建了一个ArgumentParser对象。然后,使用add_argument()函数添加两个参数,以便在命令行中使用。分别为-u和-p,带有长串的user和password作为辅助标识。最后,通过参数解析对设置的参数进行赋值,并打印出结果。当在命令行中键入参数时,可以像下面这样:

$ python3 test.py -u john -p 12345678

三、添加值约束条件

add_argument()还支持为参数添加值约束条件,以确保用户试图传递正确的信息。值约束条件可以是类型检查(如int,float),字符串长度,输入范围和正则表达式等。

示例代码:

import argparse

parser = argparse.ArgumentParser(description='这是一个例子')
parser.add_argument('file', type=argparse.FileType('r'), help='输入的文件')
parser.add_argument('-m', '--mode', type=str, choices=['grep', 'add'], help='工作模式')
parser.add_argument('-s', '--str', type=str, help='字符串')
parser.add_argument('-v', '--value', type=int, nargs='+', help='一个或多个值')

args = parser.parse_args()

file = args.file
mode = args.mode
value = args.value
str = args.str

print(file.readline())

if mode == 'add':
    print(value)
elif mode == 'grep':
    print(str)

在上面的示例代码中,我们添加了对所添加参数的类型、允许的值和数组类型的约束。这里的’grep’和’add’是模式参数所允许的选项,args.value使用nargs+代表允许输入任何数量的整数。

四、组参数

使用组参数,可以将多个参数组合到一个组中,并将组的设置作为统一的限制条件来管理。在使用add_argument()函数时,可以传递一个参数,help表示这是一个组。

示例代码:

import argparse

parser = argparse.ArgumentParser(description='这是一个例子')
group = parser.add_argument_group('这是组1')
group.add_argument('-u', '--user', help='用户名')
group.add_argument('-p', '--password', help='密码')

group2 = parser.add_argument_group('这是组2')
group2.add_argument('-n', '--name', help='姓名')
group2.add_argument('-a', '--age', help='年龄')

args = parser.parse_args()

user = args.user
password = args.password
name = args.name
age = args.age

print(user, password, name, age)

在上面的示例代码中,我们创建了第一个组”group1”,包含两个参数,-u和在命令行中使用长串user作为标识。同时,创建了另一个组”group2”,包含两个参数,-n和-a,在命令行中使用长串name和age作为样板。最后通过参数解析拿到user、password、name和age。

五、自定义帮助信息

argparse中自定义帮助信息是非常有用的,因为他们可以更好地描述你的参数的作用。 add_argument()函数有很多的参数,其中之一便是help。通过设置它,可以自定义帮助消息。当然,还有其他设置选项通过which可以自定义帮助消息内容。

示例代码:

import argparse

parser = argparse.ArgumentParser(description='这是一个例子')
parser.add_argument('-n', '--name', help='姓名', default='john')
parser.add_argument('-a', '--age', help='年龄', type=int, default=18)

args = parser.parse_args()

print(args.name,args.age)

在上面的代码中,我们设置了–name和–age参数,以及自定义了他们的帮助消息。在我们获取参数时,如果没有传递参数,则使用默认值。

六、结语

本文详细介绍了python add_argument()函数的使用方法。通过本文的阐述,读者可以掌握如何定义、传参,以及为参数编写约束条件。除此之外,本文还介绍了如何使用组,并自定义帮助信息。这些都是argparse模块中可用的功能。这些功能可以帮助开发人员管理和编写Python的命令行界面。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/297194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-28 12:15
下一篇 2024-12-28 12:15

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论