Python | 使用argparse解析命令行参数

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。

命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。

sys.argv

解析命令行传入参数最简单的办法就是通过sys.argv,sys.argv可以获取到我们通过命令行传入的参数。

import sys

print(sys.argv)

用法很简单,只需要调用sys.argv即可。argv是一个数组,如果参数有多个,我们可以通过下标进行访问。但是有一点需要注意,argv当中存储的结果是从Python调用开始的。

我们来看一个例子,我们随意传入一些参数,print sys.argv之后是这样的。

python test.py -a -c -d=222 
>>> ['test.py', '-a', '-c', '-d=222']

也就是说我们python运行test.py这个文件名也当做参数之一,所以我们要获取自定义参数的话需要从argv[1]开始。

sys.argv的好处是方便,我们只需要访问它就可以拿到传入的参数了。但是缺点也很明显,就是功能太少了。假如我们是看其他大神的代码,我们想要知道运行的时候需要传入什么参数,以及每个参数代表什么含义就做不到了。

为了解决这个问题,我们需要使用封装更多功能的工具,也是本篇文章的核心——argparse

基本用法

argparse是Python当中的一个库,我们需要先import一下,这个库我没记错应该是Python自带的,也不需要安装,我们直接就可以使用。

在我们使用之前,我们需要先初始化这个parse,也就是一个参数解析器。

# 这里ArgumentParser可以传入一个字符串,表示用途
parser = argparse.ArgumentParser()
parser.parse_args()

这个时候其实就已经有了一个解析器了,我们在运行的时候可以传入参数-h,表示help,也就是查看目前解析器当中定义的参数。由于我们现在什么也没有,所以能显示出来的就只有help。

必选参数

首先我们来介绍必选参数,它的定义和函数当中的必填参数是一样的,也就是说我们运行程序必须要的参数。如果不传,那么程序不应该执行会进行报错并提示。

定义必选参数的方法非常简单,我们只需要通过add_argument传入参数的名称就可以了。

import argparse

parser =
Node.js 提供了一个名为 `querystring` 的模块来解析和构建查询字符串 只限于那些预先知晓确切数值范围的小样本集合场合下才显得实用价值更高些罢了。Nitro Diffusion 是一种用于文本到图像生成的模型,其主要特点在于多风格训练方式。这种模型的优势体现在灵活性上,能够在多种艺术风格之间切换。然而,它的局限性可能包括计算成本较高以及对于复杂细节的表现力不足。因此,在选择是否使用此模型时,需考虑目标用户的审美偏好和硬件性能。 阅读详情

相关推荐

Python argparse:实现命令行参数的优雅解析

Python脚本开发中,我们常常需要让脚本能够接收用户从命令行输入的参数。例如,一个文件处理脚本可能需要用户指定要处理的文件路径,或者一个数据处理脚本可能需要用户输入数据的起始和结束时间。命令行参数解析就是将用户在命令行输入的字符串解析成程序可以使用的变量。Pythonargparse模块提供了一种简单而强大的方式来实现这一功能,它可以自动生成帮助和使用信息,处理参数类型和默认值,让我们的脚本更加灵活和易用。本文介绍了Pythonargparse模块,它可以帮助我们优雅地解析命令行参数

AI Python 编程之道的博客 693

JS获取URL中参数值(QueryString)的4种方法分享

方法一:正则法 代码如下:function getQueryString(name) {    var reg = new RegExp(‘(^|&)’ + name + ‘=([^&]*)(&|$)’, ‘i’);    var r = [removed].search.substr(1).match(reg);    if (r != null) {        return unescape(r[2]);    }    return null;}// 这样调用:alert(GetQueryString(“参数名1”)); alert(GetQueryString(“参数名

Pythonargparse轻松实现命令行参数解析

本文旨在深入介绍如何使用Pythonargparse模块轻松实现命令行参数解析。首先会阐述argparse的概念基础,包括其背景、发展历程和相关术语。接着构建理论框架,剖析其原理和局限性。然后进行架构设计,展示系统分解和组件交互。在实现机制部分,会进行算法复杂度分析和代码优化。实际应用中,介绍实施策略和部署考虑因素。高级考量涉及扩展动态、安全影响等。最后综合拓展,提及跨领域应用和研究前沿等内容,帮助不同技术水平的读者掌握使用argparse进行命令行参数解析的方法。

AI Python 编程之道的博客 308

CXF使用EndpointImpl发布WebService加入拦截器

CXF使用EndpointImpl发布WebService加入拦截器

sh 文件 执行传参 Shell 传递参数

sh 文件 执行传参 Shell 传递参数

jacke121的专栏 8739

【jvm jdk】查看jvm默认参数 PrintFlagsFinal & PrintFlagsInitial & PrintCommandLineFlags

-XX:+PrintFlagsInitial 是打印所有的默认参数设置 -XX:+PrintFlagsFinal 是打印最终值,如果某个默认值被新值覆盖,显示新值 -XX:+PrintCommandLineFlags 是打印那些被新值覆盖的项 参考:《JVM实用参数(三)打印所有XX参数及值》 ...

m0_45406092的博客 5694

Pythonargparse模块命令行参数解析介绍

本文介绍了python使用argparse解析命令行参数,包括自动生成帮助和使用信息、位置参数和可选参数介绍、参数类型和验证、子命令系统、自动错误处理等部分,包含功能解释及示例代码。

记录应用与学习笔记,Python、算法、工具、踩坑... 1205

Python 中如何使用 argparse 模块进行命令行参数解析

Python 脚本开发中,经常需要从**命令行**传递参数,使程序更加**灵活**和**可配置**。`argparse` 是 Python 内置的命令行参数解析模块,能够轻松实现**解析参数、设置默认值、类型转换、可选参数**等功能。本文将详细介绍 `argparse` 模块的**基本用法、必选参数、可选参数、默认值、参数类型**等,并结合实际案例讲解如何编写一个**支持命令行参数**的 Python 脚本。

807

Python 解析命令行参数argparse 库)

argparsePython 标准库中用于解析命令行参数的一个模块。它能够帮助开发者轻松地定义命令行接口,并从命令行获取参数值。与早期的getopt或optparse相比,argparse更加灵活且易于使用,支持子命令、选项分组以及自动生成的帮助文档等功能。argparse是一个强大且灵活的命令行参数解析库,适用于各种规模的 Python 脚本开发。通过它,我们可以轻松地定义命令行接口,处理复杂的参数组合,并自动生成详细的帮助文档。掌握argparse使用技巧,将极大提升你的脚本编写效率和用户体验。

2501_91227466的博客 1705

Pythonargparse 解析命令行参数模块

Python argparse 解析命令行参数标准模块的学习笔记

一些笔记 794

Python argparse 模块:命令行参数解析全攻略

argparsePython 标准库中的一个模块,用于编写用户友好的命令行接口。它可以自动生成帮助和使用信息,并且能够处理命令行参数解析和错误检查。可以通过继承类来创建自定义的参数动作。例如,下面的代码实现了一个自定义动作,用于将输入的字符串转换为大写。parser.add_argument('--name', action=UpperAction, help='输入姓名并转换为大写')print(f'转换后的姓名为: {args.name}')在命令行中运行会输出转换后的姓名为: JOHN。

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 2047

Python解析命令行参数,你到底会不会用argparse

为了提升效率,加上提高代码的可复用性,大型的任务中,我们一般不会直接把参数硬编码在程序中,而是通过命令行传入相应的参数,这样的方式更加灵活,且效率更高;甚至,我们都不会从命令行去传入参数,而是通过sh文件,shell脚本编程来传入相应的参数,当然这个不是本文的重点。无论如何,都需要解析命令行参数,那么python解析命令行参数的模块主要就是argparse了(之前还有个optparse,不过模老...

ibelieve8013的博客 1663

python argparse命令行参数解析

11 # -*- coding: utf-8 -*- import argparse # (1) 声明一个parser ap = argparse.ArgumentParser() # (2) 添加参数 ap.add_argument("first") # 位置参数,这里表示第一个出现的参数赋值给first ap.add_argument("--digit", type=int, help="输入数字") # 声明一个int类型参数 ap.add_argument("--name", help="名

MusicDancing的博客 771

python argparse - 命令行参数解析

argparse 模块是 Python 标准库的一部分,它使得编写用户友好的命令行接口变得简单。通过该模块,你可以生成帮助信息和解析命令行参数,同时还能自动生成命令的帮助和使用信息。

伤心的辣条 912

Python模块百科_命令行参数解析argparse

argparsePython的一个标准库模块,用于编写用户友好的命令行接口。它是一个灵活和强大的工具,可以处理各种命令行参数和选项,并且可以自动生成帮助和用法信息。使用argparse模块,您可以将命令行参数解析Python对象,以便在您的程序中使用。通过定义所需的参数和选项,您可以轻松地为命令行界面提供清晰和一致的语法。

长孤秋落的札记 1167

python argparse命令行参数解析

1、使用步骤 1)import argparse,导入模块; 2)parser = argparse.ArgumentParser(),创建一个解析对象; 3)parser.add_argument(),向该对象中添加你要关注的命令行参数和选项; 4)parser.parse_args(),进行解析使用实例: import argparse def argv_parse(): parser = argparse.ArgumentParser(usage="it's usage ti

alex1801 2959

高效解析命令行参数:掌握Python argparse的技巧

更多Python学习内容:ipengtao.com在开发命令行工具时,处理和解析命令行参数是一项重要的任务。Pythonargparse模块提供了一个灵活且强大的方式来处理命令行参数,使得开发命令行工具变得更加容易。本文将详细介绍argparse模块的使用,包括基本概念、参数定义、选项处理、子命令支持以及实际应用案例。argparse模块简介argparse模块是Python标准库的一部分,用于...

涛哥聊Python 509

Python argparse 模块:命令行参数解析实战全攻略

本文详细介绍了Python内置模块argparse的核心用法,用于高效处理命令行参数。内容涵盖:argparse的四大优势(自动生成帮助文档、类型校验、灵活配置、符合规范)和基础四步使用流程;重点解析add_argument()的常用参数配置(类型限制、可选值、默认值等);通过7个实战案例演示位置参数、必填参数、开关参数等典型场景;提供PyCharm参数传递方法和常见问题解决方案。最后通过综合案例展示多参数组合应用,总结argparse的核心知识点,帮助开发者实现标准化参数处理,提升脚本可维护性。

2201_75420345的博客 1155
上一篇: Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作
下一篇: 机器学习,详解SVM软间隔与对偶问题
TechFlow
博客等级 码龄7年 345粉丝 276原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值