新闻中心

python3中argparse模块怎么使用?

2025-11-29
浏览次数:
返回列表
答案:argparse是Python3解析命令行参数的标准模块,通过ArgumentParser添加参数并解析。支持位置参数、可选参数(如--verbose)、带值参数(如--port 8080)、限制取值范围(choices)和默认值,自动生成功助信息,提升脚本灵活性与专业性。

python3中argparse模块怎么使用?

argparse 是 Python3 中用于解析命令行参数的标准模块,使用它能让你的脚本更灵活、更专业。你不需要手动处理 sys.argv,argparse 可以帮你自动解析输入,并生成帮助信息。

基本用法

先创建一个 ArgumentParser 对象,然后添加参数,最后解析它们。

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('name', help='输入你的名字')

args = parser.parse_args()

print(f'Hello, {args.name}')

运行脚本:python script.py Alice,输出:Hello, Alice

添加可选参数

可选参数以 -- 开头,比如 --verbose 或 -v。

parser.add_argument('--verbose', '-v', action='store_true', help='启用详细模式')

如果命令中包含 --verbose 或 -v,args.verbose 就是 True,否则为 False。action='store_true' 表示这个参数不接收值,只是一个开关。

带值的可选参数

有些参数需要接收具体值,比如 --port 8080。

parser.add_argument('--port', type=int, default=80, help='指定端口号,默认80')

GoEnhance GoEnhance

全能AI视频制作平台:通过GoEnhance AI让视频创作变得比以往任何时候都更简单。

GoEnhance 347 查看详情 GoEnhance

type 指定类型,default 是默认值。如果不传 --port,args.port 就是 80。

限制参数取值范围

可以用 choices 限制参数只能从几个选项中选择。

parser.add_argument('--mode', choices=['dev', 'prod', 'test'], default='dev')

如果用户输入 --mode xxx,而 xxx 不在 choices 中,程序会自动报错并提示可用选项。

位置参数与可选参数的区别

位置参数(如上面的 name)是必须提供的,除非设为可选(通过 nargs='?')。可选参数以 -- 开头,可以不传。

parser.add_argument('filename', nargs='?', default='config.txt', help='配置文件名,可选')

nargs='?' 表示这个位置参数是可选的,不提供时使用 default 值。

显示帮助和版本信息

argparse 自动支持 -h 或 --help 显示帮助。你也可以添加版本信息:

parser.add_argument('--version', action='version', version='1.0.0')

运行 python script.py --version 会输出版本号并退出。

基本上就这些。掌握 add_argument 的常用参数:name or flag, type, default, help, choices, action, nargs,就能应付大多数场景。写脚本时加上命令行支持,会让工具更易用。

以上就是python3中argparse模块怎么使用?的详细内容,更多请关注其它相关文章!


# 不传  # 视频涉及不当营销推广  # 伪静态图片seo  # 网站建设知识付费文案  # 徐州网站建设品牌公司  # 快捷的福州seo方案  # 中卫seo公司推荐14火星  # seo企划方案范文6  # 养老机构推广网站有哪些  # 大鼠翻译网站建设文案  # 寻乌县推广网站公司  # 组播  # python  # 默认值  # 源代码  # 如何将  # 数据包  # 转换为  # 命令行  # 可选  # 区别  # 配置文件  # 工具  # 端口 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 照顾宝贝2小游戏免费秒玩入口  AO3访问入口汇总 AO3网页版同人作品一键直达  多闪网页版在线观看免费入口_多闪官网访问入口  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  c++项目目录结构应该如何组织_c++工程化项目结构规范  Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  Go语言中Map存储的结构体如何调用指针方法:深入解析与实践  KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  Go Martini框架:动态服务解码后的图片内容  React Router v6 教程:构建认证保护的私有路由与重定向策略  深入理解J*a合成构造器:何时以及为何阻止其生成  CSS图片焦点样式实现教程:理解与应用tabindex属性  夸克浏览器网页版最新地址 夸克浏览器官方入口合集  漫蛙2正版漫画站 漫蛙2网页版快速访问入口  126邮箱账号注册 电脑版登录入口  一加 14R 快充无反应_一加 14R 充电优化  css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍  QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录  1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】  Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】  J*aScript 字符串标签转换:使用正则表达式高效替换  2025-2030年全球乘用车销量预测:新能源成增长主力  Selenium Python中处理点击后新窗口加载冻结问题的策略与实践  手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议  zookeeper 都有哪些功能?  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  京东单号查询入口_京东快递订单追踪入口  铃兰之剑为这和平的世界希里技能组及加点推荐  零跑汽车11月交付量达70327台 实现连续9个月正增长  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  服务端验证_j*ascript输入检查  J*aScript中管理异步API调用:确保操作顺序与数据一致性  css绝对定位元素脱离父容器怎么办_确保父元素position非static  必由学官网入口 必由学教师登录入口  WordPress插件开发:正确注册卸载钩子与避免常见陷阱  在Qt QML中通过Python字典动态更新TextEdit内容的教程  Lar*el Form Request中唯一性验证在更新操作中的正确实现  汽车之家官方网站官网入口_汽车之家网页版直接进入  快速CSGO开箱网站指南 CSGO开箱平台推荐  解决J*aScript中重复选择项的确认对话框显示问题  LINUX下如何进行磁盘分区_fdisk与parted工具在LINUX中的使用对比  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  PostgreSQL海量数据高效导入策略:Python与Django实践指南  C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责  AO3官方可用镜像 Archive of Our Own网页版最新入口  解决Tabulator日期时间排序问题的专业指南 

搜索