python argsparse模块实现命令行参数
csdh11 2025-04-28 23:58 17 浏览
argparse是Python标准库中的一个模块,它可以帮助我们轻松地编写命令行界面(CLI)程序。argparse模块提供了一种简单而灵活的方式来处理命令行参数,使得我们可以轻松地编写具有复杂参数的CLI程序。
argparse模块的主要功能是解析命令行参数并生成帮助和使用信息。它还可以自动生成错误消息和使用信息,并支持多种不同类型的参数,例如布尔型、整数、浮点数、字符串等。
下面是一个简单的示例,演示了如何使用argparse模块来解析命令行参数:
import argparse
parser = argparse.ArgumentParser(description="计算x的y次方")
parser.add_argument("x", type=int, help="x")
parser.add_argument("y", type=int, help="y")
parser.add_argument("-v", "--verbose", action="store_true", help="打印详情")
args = parser.parse_args()
x = args.x
y = args.y
if args.verbose:
print(f"x的y次方等于{x**y}")
else:
print(x**y)
- add_argument第一个参数形式为字符串,如x,y,表示是位置参数,它们的顺序不能颠倒,且为必选项;
- type=int表示将输入的参数转化为整数类型;
- help表示参数的帮助信息
- "-v"为短选项,”--verbose“为完整选项,它们是等价的,且表示为可选项,其输入顺序没有关系;
- action="store_true"表示包含-v或--verbose选项时,参数对应的值为True;
在上面的示例中,实现了通过命令行获取参数x、y并计算x的y次方的程序,第一个参数为x、第二个参数为y,如果输入-v或--verbose则打印详细的结果,否则直接显示最终结果。
-h或--help显示帮助信息
$python .\prog.py 2 3 -h
usage: prog.py [-h] [-v] x y
计算x的y次方
positional arguments:
x x
y y
optional arguments:
-h, --help show this help message and exit
-v, --verbose 打印详情
命令行参数运行结果展示
$ python .\prog.py 2 3
8
$ python .\prog.py 2 3 -v
x的y次方等于8
$ python .\prog.py 2 3 --verbose
x的y次方等于8
$ python .\prog.py 2 --verbose 3
x的y次方等于8
参考文献
[1] Argparse 教程 — Python 3.11.2 文档;
相关推荐
- Flink SQL Client综合实战(flink原理深入与编程实战下载)
-
在《FlinkSQLClient初探》一文中,我们体验了FlinkSQLClient的基本功能,今天来通过实战更深入学习和体验FlinkSQL;...
- Spring Boot 3.4.5 发布了!全面解析新特性与Spring Boot 3的革新之路
-
SpringBoot3.4.5正式发布:修复与升级双管齐下近日,SpringBoot团队正式推出...
- 数据放在哪?如何从数据库取数据?(数据库中的数据从哪里来)
-
前言数据放在数据库内(如:mysql)如何获取数据,可用JDBC1、为什么要了解mysql数据库?因为实际的生活中,网页里面的内容都不是静止的,会根据你的操作和交互,数据会发生变化...
- 恕我直言,我怀疑你并不会“分库分表”
-
随着互联网的迅速发展,会导致产生海量的数据,在数据量还比较小的时候,传统的处理方式是将数据存储在关系或者非关系型数据库中,但是随着数据量逐渐增加,单个数据库的表已经很难容纳所有数据,所以业界出现了分库...
- jmeter使用一览有余(jmeter功能)
-
接口测试:特殊的URL地址,负责数据的操作(显示,修改,添加,删除)四要素:1.url地址2.请求方式:getpostrestful风格,put,delete3.请求参数...
- MySQL 分布式数据库实现:无需修改代码,轻松实现分布式能力
-
本篇文章主要从项目中实际场景出发,讲解分库分表等功能在日常运维中遇到的问题,以及ShardingSphere-Proxy对应的解决方案,版本号:v5.1.0。如无特别声明,以下示例中的数据库指M...
- Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
-
Maven简介Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。Maven是一个跨平台的项目管理工具。主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。...
- RazorSQL Mac版(SQL数据库查询工具)
-
RazorSQLMac特别版是一款看似简单实则功能非常出色的SQL数据库查询、编辑、浏览和管理工具。RazorSQLformac特别版可以帮你管理多个数据库,支持主流的30多种数据库,包括Ca...
- Spring Native 中文文档(spring-native)
-
https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/#getting-started-buildpacks...
- Jmeter 接口测试(JMETER接口测试报告)
-
接口测试Jmeter接口测试举例Jmeter可以做接口测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webser...
- 大数据Hadoop之——Flink Table API 和 SQL(单机Kafka)
-
一、TableAPI和FlinkSQL是什么TableAPI和SQL集成在同一套API中。这套API的...
- Oracle数据库无法连接问题排查(oracle12c连接不到数据库)
-
数据库告警日志如下图。发现问题时间段,没有数据库服务故障报错,但是存在较多TNS-12535...
- hadoop3.2.4安装 sqoop1.4.7(hadoop2.10.1安装)
-
sqoop功能是非常完善的,兼容性也很好。但是hadoop3版本没有官方的集成jar包版本,所以我通过阅读sqoop的官方文档,解决了如何在配置hadoop3版本的sqoop。核心就两点,从集成包里获...
- ShardingSphere-Proxy:从实际场景出发,快速上手
-
本篇文章主要从项目中实际场景出发,讲解分库分表等功能在日常运维中遇到的问题,以及ShardingSphere-Proxy对应的解决方案,版本号:v5.1.0。...
- MyEclipse企业级报表教程:MyEclipse中的报表工具(上)
-
1.MyEclipse报表MyEclipse报表大大简化了开发、部署和测试范围广泛的Web报表的过程。MyEclipse报表包含了一套先进的报表开发工具和运行时报表引擎。这些功能的设计和MyEcli...
- 一周热门
- 最近发表
-
- Flink SQL Client综合实战(flink原理深入与编程实战下载)
- Spring Boot 3.4.5 发布了!全面解析新特性与Spring Boot 3的革新之路
- 数据放在哪?如何从数据库取数据?(数据库中的数据从哪里来)
- 恕我直言,我怀疑你并不会“分库分表”
- jmeter使用一览有余(jmeter功能)
- MySQL 分布式数据库实现:无需修改代码,轻松实现分布式能力
- Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- RazorSQL Mac版(SQL数据库查询工具)
- Spring Native 中文文档(spring-native)
- Jmeter 接口测试(JMETER接口测试报告)
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)
- dos 删除目录下所有子目录及文件 (36)