株洲网站建设网站 建设

秦皇岛智勤科技有限公司 2026/09/09 20:29:54

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

未完待续…

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

郴州网站建设宁波市网站建设

Qwen3-VL文本理解媲美纯LLM:图文融合无损统一认知架构揭秘在智能助手需要“看懂”用户截图、教育平台希望自动解析整本教材、企业流程自动化系统试图仅凭界面操作完成任务的今天ÿ

2026/06/30 13:58:38

建设部网站河南网站建设

Mos终极配置指南:让Mac鼠标滚动体验焕然一新【免费下载链接】Mos一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A light

2026/06/30 10:58:52

手机网站建设呼和浩特网站建设

Hunyuan-MT-7B vs 其他7B翻译模型:谁才是真正的性能王者?在全球化浪潮席卷各行各业的今天,语言早已不再是简单的交流工具,而成为信

2026/06/30 13:58:08

个人网站建设长沙网站建设

你的团队是否真正理解了敏捷的精髓?是否在追求流程完美时忽略了团队协作的本质?本文将带你深入探索敏捷开发的核心理念,提供一套可落地的实战框架,帮助

2026/06/30 10:20:49

广东网站建设泰州网站建设

概率理论与量子系统:从概率到量子力学的重构在量子物理学的研究中,概率理论扮演着至关重要的角色。它不仅为我们理解量子系统的行为提供了数学基础,还在量子信息和量子计算等领域有着广泛的应用。本文将深入探讨概

2026/06/30 10:29:20

十堰网站建设淮北网站建设

在人工智能领域,大模型(LLM)无疑是当下最炙手可热的话题之一。从改变人们交互方式的 ChatGPT,到各行各业基于大模型开发的创新应用

2026/06/30 11:06:23

网站建设服务南京网站建设公司

如何用Proteus高效仿真工业电源模块?从元件库到闭环验证的实战指南在工业自动化和电力电子系统开发中,电源设计从来都不是一件轻松的事。你是否经历过这样的场景:

2026/06/30 10:10:18

网站外链建设济南网站建设公司

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:开发一个简单的谷歌浏览器新手练习插件,功能:1.

2026/06/30 13:16:35

北京高端网站建设潜江网站建设

1. 前提说明CentOS7/8版本官方已经归档,默认的安装源无法使用,而且网上大多数提供的国内yum地址也大部分失效。故为了快速有效的使用在线yum,结合国

2026/06/30 11:22:25

电子商务网站建设网站建设一条龙

刚开始做外汇程序化交易时,我经常问自己一个看似简单的问题:外汇市场没有统一交易所,那所谓的“外汇 API”到底从哪里来的?很多教程会直接告诉你&

2026/06/30 13:54:08