株洲网站建设网站 建设

上海晨中文化传播有限公司 2026/09/09 17:33:31

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')

未完待续…

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

网站建设的基础培训网站建设

🎓 一、 选题背景:为什么选这个题?同学们,毕设想拿高分,要么技术牛,要么**“产品力”强。这个选题就是典型的产品

2026/06/30 13:08:34

咸阳网站建设资阳网站建设

用树莓派动手实践CoAP协议:从温湿度采集到轻量通信的完整实战你有没有试过在树莓派上跑一个HTTP服务器,结果发现光是启动Flask都卡得不行?更别说还要把传

2026/06/30 13:53:07

电器网站建设国家建设部网站

Docker健康检查监控PyTorch服务运行状态在构建高可用的AI推理系统时,一个常被忽视的问题是:容器还在跑,服务却已经“瘫痪”了。你有没有遇到过这种情况

2026/06/30 10:36:21

云南网站建设牡丹江网站建设

在现代宽屏显示器时代,众多经典游戏面临画面兼容性挑战。WidescreenFixesPack项目为玩家提供了一套完善的宽屏修复工具集,通过智能插件系统解决老游戏在宽屏环境下

2026/06/30 11:29:25

静安网站建设旅游网站建设

React日历组件完全攻略:从零构建企业级日程管理系统【免费下载链接】react-big-calendargcal/outlook like calendar component项目地址

2026/06/30 11:51:27

聊城网站建设株洲网站建设

第一章:MCP PL-600 Agent 功能测试概述MCP PL-600 Agent 是一款面向企业级设备管理的智能代理程序,主要用于监控硬件状态、收集运行日志并执行远程

2026/06/30 11:51:57

企业网站建设方案吉安网站建设

Linux 扫描与多语言使用指南打印机墨水与维护若现有工具无法查看打印机墨水水平和维护功能,或者你的打印机品牌未被列出,若制造商有适用于 Linux 的驱动,可尝试使用该驱动来访问这些功能。部分新型打

2026/06/30 11:44:57

银川网站建设网站建设套餐

AutoDock-Vina分子对接终极指南:快速解决PDBQT格式错误问题【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.

2026/06/30 13:21:35

娄底网站建设网站 建设

中文对话AI的技术演进与智能交互新范式【免费下载链接】Awesome-Chinese-LLM整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括

2026/06/30 11:53:28