株洲网站建设网站 建设

河南玖农网络科技有限公司 2026/09/09 18:57:16

argparse模块

argparse是 Python 标准库中的一个模块(自 Python 2.7 和 3.2 起内置),用于解析命令行参数和选项。功能强大、使用广泛,是编写命令行工具的首选。


一、基本用途

argparse的主要作用是:

  • 解析用户在命令行中传入的参数;
  • 自动生成帮助信息(--help);
  • 对输入参数进行类型检查、范围限制等;
  • 支持位置参数(positional arguments)和可选参数(optional arguments)。

二、基本用法示例

importargparse# 创建解析器parser=argparse.ArgumentParser(description='计算两个数的和')# 添加位置参数parser.add_argument('a',type=int,help='第一个整数')parser.add_argument('b',type=int,help='第二个整数')# 添加可选参数parser.add_argument('-v','--verbose',action='store_true',help='是否显示详细信息')# 解析参数args=parser.parse_args()# 使用参数result=args.a+args.bifargs.verbose:print(f'{args.a}+{args.b}={result}')else:print(result)

运行示例:

$ python script.py358$ python script.py35-v3+5=8$ python script.py --help usage: script.py[-h][-v]a b 计算两个数的和 positional arguments: a 第一个整数 b 第二个整数 options: -h, --help show thishelpmessage andexit-v, --verbose 是否显示详细信息

三、常用参数说明

参数说明
name or flags'name'(位置参数)或'-f', '--file'(可选参数)
type指定参数类型,如int,float,str,或自定义函数
default默认值
help帮助信息
action参数行为,如'store_true'(无参开关)、'append'(多次出现收集为列表)等
choices限定可选值,如choices=['red', 'blue']
nargs指定参数数量,如'*'(0或多个)、'+'(1或多个)、'?'(0或1个)
required对可选参数设为True表示必须提供(仅用于可选参数)

四、高级功能示例

1. 子命令(subcommands)

适用于类似git commitgit push这样的多命令工具:

parser=argparse.ArgumentParser()subparsers=parser.add_subparsers(dest='command')# 子命令:addadd_parser=subparsers.add_parser('add',help='加法')add_parser.add_argument('x',type=int)add_parser.add_parser('y',type=int)# 子命令:mulmul_parser=subparsers.add_parser('mul',help='乘法')mul_parser.add_argument('x',type=int)mul_parser.add_argument('y',type=int)args=parser.parse_args()ifargs.command=='add':print(args.x+args.y)elifargs.command=='mul':print(args.x*args.y)

2. 互斥参数组

确保某些参数不能同时出现:

group=parser.add_mutually_exclusive_group()group.add_argument('--quiet',action='store_true')group.add_argument('--verbose',action='store_true')

未完待续…

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

技术网站建设网站建设招聘

POCO C++数据库连接池高效实战:深度解析动态连接管理机制【免费下载链接】pocoThe POCO C++ Libraries are powerfu

2026/06/30 13:14:04

无锡网站建设网站建设学习

虚拟专用网络基础技术之防火墙详解在网络连接的领域中,存在着两个相互竞争的理念。一个强调数据无论在用户身处何处、数据位于何方,都应具备高度的可访问性;另一个则着

2026/06/30 11:48:27

西安网站建设广东网站建设

系统程序文件列表项目功能:用户,商家信息,车辆信息,景区直通车,景点路线,路线预定,直通车预定,车辆预定开题报告内容一、研究背景与意义1.1 研究背景随着旅游业的快速发展,

2026/06/30 11:55:58

淮安网站建设学校网站建设

FontCenter:让AutoCAD字体管理不再烦恼的智能助手【免费下载链接】FontCenterAutoCAD自动管理字体插件项目地址: https://gitcode.com/gh

2026/06/30 11:46:27

海口网站建设山西网站建设

还在为B站缓存的m4s格式视频无法在其他设备播放而烦恼吗?这些看似普通的视频文件其实被B站的数字内容保护机制锁定,导致只能在特定环境下使用。今天,我将为你揭秘

2026/06/30 10:51:22

晋江网站建设常德网站建设

在这篇 2025 年最新的 RAG 综述中,研究者系统梳理了过去一年的技术进展,提出了新的分析视角,并探讨了未来的发展趋势。本系列文章对其进行了解读和日常案例

2026/06/30 10:42:51

潍坊网站建设网站建设步骤

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:创建一个企业级蓝屏日志分析系统,功能包括:1.自

2026/06/30 10:34:21

网站建设系统摄影网站建设

本文详细介绍了LangGraph的持久化机制,通过Thread和Checkpoint概念,使AI智能体具备记忆能力。持久化机制支持多轮对话、状态恢复、人工介入和时间旅行等场

2026/06/30 13:11:04

网站建设中中小企业网站建设

还在为Windows电脑上使用AirPods的各种不便而烦恼吗?AirPodsDesktop这款开源工具,就像给你的AirPods配了一位贴心的智能管家,让你

2026/06/30 09:46:46