news 2026/7/24 8:51:50

Python标准库介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python标准库介绍

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

未完待续…

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

模拟信号共模抑制比提升:原理与实践

模拟信号共模抑制比提升:从原理到实战的系统性优化在工业自动化、医疗设备或精密测量系统中,你是否遇到过这样的问题?——传感器输出本应是稳定的毫伏级差分信号,但实际采集到的数据却“飘忽不定”,噪声频谱里总能看到…

作者头像 李华
网站建设 2026/7/23 13:17:41

Readest开源电子书阅读器:一站式数字阅读解决方案

在数字化阅读日益普及的今天,您是否还在为寻找一款功能全面、界面友好的电子书阅读器而烦恼?Readest作为一款现代化开源电子书阅读器,为您提供跨平台的无缝阅读体验。无论您是在Windows、macOS、Linux桌面系统,还是在Android、iOS…

作者头像 李华
网站建设 2026/7/1 7:42:35

Ananke主题高效使用指南:5个步骤快速搭建专业博客

Ananke主题高效使用指南:5个步骤快速搭建专业博客 【免费下载链接】gohugo-theme-ananke Ananke: A theme for Hugo Sites 项目地址: https://gitcode.com/gh_mirrors/go/gohugo-theme-ananke 当你第一次看到基于Ananke主题搭建的网站时,你会被它…

作者头像 李华
网站建设 2026/7/23 19:00:40

数字包容性终极指南:构建无障碍用户体验的完整解析

数字包容性终极指南:构建无障碍用户体验的完整解析 【免费下载链接】WeChatPlugin-MacOS 微信小助手 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPlugin-MacOS 在数字技术飞速发展的今天,我们是否真正考虑过那些因身体条件限制而无法享受…

作者头像 李华
网站建设 2026/7/24 5:38:25

Miniconda环境激活脚本自动生成工具

Miniconda环境激活脚本自动生成工具 在现代AI研发和数据科学项目中,一个常见的痛点是:刚接手项目时,光是配置Python环境就花了半天时间——版本不兼容、依赖冲突、编译失败……最终还不能保证和同事的环境一致。这种“在我机器上能跑”的尴尬…

作者头像 李华
网站建设 2026/7/11 1:01:15

图书馆管理系统开题报告

学生姓名:学生学号: 20231308080132学生所属组织: 数学与计算机学院~计算机科学与技术~2023级计算机科学与技术专课题名称: 图书管理系统起止日期一、选题概述1、国内外研究现状在我国,图书管理系统的研究与应用已经取得了显著的进展。随着信息技术的快速发展&#…

作者头像 李华