株洲网站建设网站 建设

佛山市顺德区三少奶艺术家饰有限公司 2026/09/09 17:48: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')

未完待续…

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

龙岗网站建设网站建设维护

A100/H100显卡福音:ms-swift全面支持高端GPU分布式训练在大模型研发进入“万亿参数”时代的今天,单靠堆叠硬件已无法满足高效训练的需求。即便是配备了NVIDI

2026/06/30 12:01:58

网站建设与维护专业网站建设公司

行业背景与证书重要性机械设计与制造行业对技术能力和资质认证要求较高,持有权威证书可显著提升就业竞争力。2026年行业趋势显示,智能制造、数字化设计等领域人才缺口大ÿ

2026/06/30 12:36:32

顺德网站建设凯里网站建设

树莓派5跑ROS2?别急,先搞懂这套“软硬协同”的门道你是不是也看到别人用树莓派做机器人、激光建图、自动导航,心里痒痒的?想着:“

2026/06/30 11:57:28

莆田网站建设南山网站建设

Aurora开源项目快速安装指南与完整使用教程【免费下载链接】aurora基于SpringBoot+Vue开发的个人博客系统项目地址: https://gitcode.com/gh_mirro

2026/06/30 10:40:51

广州市网站建设渭南网站建设

网盘直链下载助手提取lora-scripts训练产出文件的方法在AI模型微调日益普及的今天,越来越多设计师、开发者和研究者开始使用LoRA(Low-Rank Adaptat

2026/06/30 12:10:59

厦门网站建设黄石网站建设

手把手教你搞定小天才USB驱动安装(小白也能一次成功)你是不是也遇到过这种情况:想给孩子的小天才手表备份数据、升级系统,或者修复“无限重启”的故

2026/06/30 11:18:25

东莞手机网站建设广西网站建设公司

如何让条码扫描器“听话”?嵌入式系统中scanner通信协议的实战解析你有没有遇到过这样的场景:一个工业扫码枪接上MCU后,时而正常出码,时而乱

2026/06/30 10:53:22

宿迁网站建设龙岩网站建设

1、数据简介本数据库专为满足并购数据库与上市企业精准匹配需求而设计,是金融机构与企业战略规划部门的得力助手。在金融机构执行并购项目尽职调查时,它能迅速筛选并定位目标上市企业

2026/06/30 12:15:30

龙岩网站建设柳州网站建设

PIVlab深度解析:流体速度场测量的终极解决方案【免费下载链接】PIVlabParticle Image Velocimetry for Matlab, official reposi

2026/06/30 11:16:24