株洲网站建设网站 建设

连云港市千栀味食品贸易有限公司 2026/09/09 18:46:08

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

未完待续…

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

云南网站建设成都市网站建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:开发一个企业级Node.js环境部署方案生成器,输入ÿ

2026/06/30 14:16:09

无锡网站建设泉州网站建设

中兴通讯5G建设成就:权威专家形象数字人对外宣讲在5G网络加速落地的今天,通信企业不仅要建得好基站、跑得通数据,更要讲得清技术、传得开价值。中兴通讯作为全球领

2026/06/30 11:54:28

网站建设论坛摄影网站建设

Linly-Talker MiniMax语音接口对接进展在虚拟主播、智能客服和数字员工逐渐成为企业标配的今天,如何让一个“数字人”真正像真人一样自然地听、说、表达,是技术落

2026/06/30 12:59:33

承德网站建设徐汇网站建设

从零构建支持多会话的ECU诊断系统:深入理解UDS中的$10与$3E在汽车电子开发中,一个常见但又容易被低估的问题是:为什么我的诊断工具突然“失联”了

2026/06/30 11:45:27

网站建设价格广州网站建设工作室

1. 从问题出发:监控到底要回答什么问题在设计任何 Exporter 之前,先问一个问题:如果这台服务器出了问题,你希望监控系统第一时间告诉你什

2026/06/30 11:31:26

台州网站建设睢宁网站建设

工具对比排名表格工具名称核心功能突出优势Aibiye降AIGC率适配高校规则,AI痕迹弱化Aicheck论文降重速度快,保留专业术语Askpaper论文降重逻辑完整性好秘塔

2026/06/30 11:10:24

龙岗网站建设云网站建设

还在为Steam游戏时长不足而困扰?想要高效收集交易卡却不想耗费大量时间和系统资源?HourBoostr和SingleBoostr这两款开源工具将彻底改变你的游戏时间管理方

2026/06/30 10:29:20

网站建设模板云南网站建设

Musicdl终极指南:用Python轻松获取全网无损音乐【免费下载链接】musicdlMusicdl: A lightweight music downloader written i

2026/06/30 12:55:33

网站建设广告网站建设 公司

题面Starry Landscape Photo问题描述在AtCoder行星上看到的夜空中,有N NN颗星星,这些星星从东到西排成一条直线。从东方数起的第i ii颗星&#x

2026/06/30 14:18:09

商务网站建设淮安网站建设

在信息爆炸的时代,网络广告和隐私追踪已成为困扰用户的两大难题。AdGuard浏览器扩展作为一款完全免费的开源广告拦截工具,通过智能过滤技术为用户提供全方位的网络保护。这款轻

2026/06/30 13:44:37