python命令行参数处理:argparse、optparse和getopt

Python学习之命令行参数解析之argparse和optparse Python 有两个内建的模块用于处理命令行参数:   一个是 getopt只能简单处理 命令行参数; 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。会自动帮你负责-h帮助选项。 更高级的可以使用aegparse这个模块,argparse从python2.7开始被加入标准库. 后续版本都不在维护 optparse 了. Python command line parsing https://code.google.com/archiv 阅读详情

一 命令行参数:

(1)在python中:

*sys.argv:命令行参数的列表。

*len(sys.argv):命令行参数的个数(argc)。

*python中提供了三个模块来辅助处理命令行参数:getopt,optparse和argparse。


(2)术语:

*argument:命令行上的字符串,在python中参数是sys.argv[1:],argv[0]是执行程序的名字。

*option:选项。

*option argument:选项的值,跟在选项后面。格式:-f foo/-ffoo,--file foo/--file=foo。

*position argument:位置参数,选项被处理后剩下的参数。

*required option。


二 getopt模块:

(1)简单用法:

*简单的识别选项以及选项参数,位置参数以列表的形式返回。


三 optparse模块(从2.7开始废弃,建议使用argparse):

(1)简单用法:

*识别选项以及选项参数,可指定复杂的操作,位置参数以列表的形式返回。如下:

from optparse import OptionParser
parser=OptionParser()
parser.add_option(“-f”, "--file", dest="filename", action="store" help="need a file name")。
(options,args)=parser.parse_args()

*使用时-f 选项值或--file选项值。

*action的值默认是“store”,把选项后面的赋给dest代表的值,即filename=选项值。

*optparse自动为程序提供帮助信息,使用方式-h,--help。add_option函数中的help的值作为查看程序帮助信息时可以看到。

*上例程序的帮助信息是:-l filename,--list=filename  need a filename。注意filename就是dest的值,后面的信息就是help的值。

*parse_args():返回两个值,options和args。options是一个字典,其值为{"filename":选项值},可通过options.filename使用选项值;args是一个位置参数的列表,注意区分选项、选项参数以及位置参数。


(2)action的取值:

*store:默认。

*store_true

*store_false

*store_const:store a constant value.

*append:append this option's argument to a list.

*count:increment a counter by one.

*callback:call a specified function.


四 argparse模块:



python入门:sys.argv与optparse与argparse与getopt的区别 optparse与argparse的区别:Deprecated since version 3.2: The optparse module is deprecated and will not be developed further; development will continue with the argparse module.Deprecated since version 2.7: 阅读详情

相关推荐

从零到一:PrimeTime静态时序分析入门指南

本文详细介绍了PrimeTime静态时序分析(STA)的入门指南,从基础概念到实际应用全面覆盖。内容包括时序路径分类、PrimeTime环境搭建、时序约束设置与验证、时序分析与报告解读等核心内容,帮助工程师快速掌握STA技术,解决数字芯片设计中的时序收敛问题。

weixin_28730131的博客 268

8路RS232/TTL复合串口服务器:工业多设备联网与MQTT上云实战

串口通信是工业设备联网的基础,RS232与TTL电平的差异直接影响物理层对接。串口服务器通过协议转换,将串口字节流封装为TCP/IP数据包,实现设备联网。支持Modbus RTU转TCP及MQTT上云,可大幅简化工业数据采集架构。在PLC、温控表、扫码枪等多设备场景中,8路复合串口服务器凭借RS232/TTL可选通道,一台设备即可完成多路串口设备接入,降低备件种类与故障点。本文以NCOM880T为例,详解硬件接线、通道配置、打包策略及MQTT上云实操,助你高效完成工业物联网部署。

weixin_34184561的博客 433

python语言下使用opencv接口cv2.VideoCapture()接口调用海康机器人工业相机

文章目录 目录 文章目录 前言 一、opencv接口介绍 二、调用海康机器人工业相机 1.使用海康机器人工业相机的前提 2.调用海康机器人工业相机进行显示 3.调用海康机器人工业相机进行存图 4.调用海康机器人工业相机存视频 5.调用海康机器人工业相机进行简单图像处理 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下.

qq_39570716的博客 1万+

python函数参数顺序_对Python中函数参数类型及排序问题,三个方面的总结

Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下。参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数。其实总共可以分为 位置参数和关键字参数,因为位置参数被放在list里面,关键字参数放在dict里面,Python在解读的时候首先处理list,没有遇到关键字就append到list里面,遇到关键字了,就开始做dict直到结束,所以,位...

weixin_39568083的博客 295

ESP32+ST7789 LCD屏实战:5分钟搞定中文显示与图片渲染(附完整代码)

本文提供了一份详细的ESP32驱动ST7789 LCD屏幕的实战指南。通过清晰的SPI硬件连接说明、ESP-IDF框架下的初始化代码,以及图片渲染与中文字库构建的核心算法,帮助开发者快速实现中文显示与图片渲染功能,并附有完整的代码示例和性能优化技巧。

weixin_29189377的博客 436

MySQL服务启动失败?手把手教你排查NET HELPMSG 3534错误(附完整修复流程)

本文针对Windows平台上MySQL服务启动失败并提示NET HELPMSG 3534错误的常见问题,提供了系统性的排查与修复指南。文章深入剖析了错误本质,并手把手教你通过查看MySQL错误日志、检查并初始化数据目录、修正Windows服务配置、排查my.ini配置文件陷阱等核心步骤,彻底解决这一棘手问题,帮助开发者和运维人员快速恢复数据库服务。

wdx0123456的博客 894

python 参数模块 getopt 与 argparse

在写python时经常有两种参数引入模块。 1.getopt 模块 个人经常使用的这个模块,方便简洁,跟 sys 模块配合使用 import sys,getopt oprts,args = getopt.getopt(sys.argv[1:],'h:o,i:',['input=','output=','help','']) # 短参数 -h,-o,-i ,长参数 --input= , --...

ouprince 1937

ScottPlot vs LiveCharts:WPF图表库性能对比与MVVM适配方案

本文深度对比了WPF图表库ScottPlot与LiveCharts在性能与MVVM架构适配上的表现。通过十万级数据点的基准测试,ScottPlot在渲染速度与内存占用上优势显著。文章重点探讨了两种库在MVVM模式下的集成方案,为开发者根据项目需求(如实时监控或快速原型)进行技术选型提供了实战指导。

lll78的博客 245

python-argparse 命令行脚本传递参数opt

argparse 包 import argparse parser= argparse.ArgumentParser(description=""" 说明: """) parser.add_argument('-i', help="输入文件名", default='') parser.add_argument('-o', help="输出文件名", default='') args= pa...

五月的田野 1050

【异常】Hermes Agent调用z.ai接口失败(余额不足)API call failed (attempt 1/3): RateLimitError [HTTP 429]

补充说明:同步尝试解析接口对应网页时,出现“网页解析失败,可能是不支持的网页类型,请检查网页或稍后重试”提示,该提示不影响核心报错排查,仅作为辅助信息。

奶爸的编程之路,也就一周冷个三天 1191

即插即用系列(代码实践)| 2025 Strip R-CNN:大尺寸条形卷积——遥感目标检测新SOTA,专治细长目标(桥梁、船只)

摘要: 论文《Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection》针对遥感图像中细长目标(如桥梁、道路)检测难题,提出创新性解决方案。通过设计StripBlock模块,将传统方形卷积核替换为大尺寸条形卷积(水平1×19与垂直19×1组合),有效捕获长距离空间特征,同时减少背景噪声。结合CenterPooling增强目标中心定位,该模块可即插即用至现有网络,显著提升遥感检测任务(如DOTA数据集)的精度。代码已开源,

分享顶会顶刊论文即插即用模块 189

python getopt argparse_python命令行参数处理:argparse、optparse和getopt

一 命令行参数:(1)在python中:*sys.argv:命令行参数的列表。*len(sys.argv):命令行参数的个数(argc)。*python中提供了三个模块来辅助处理命令行参数:getopt,optparse和argparse。(2)术语:*argument:命令行上的字符串,在python中参数是sys.argv[1:],argv[0]是执行程序的名字。*option:选项。*opt...

weixin_39592026的博客 200

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

包括YOLOv5、YOLOv7、YOLOv8等模型改进 735

python getopt argparse_Python 中的命令行参数处理 -- argparse、optparse、getopt

argparse、optparse、getopt 三个模块都可以对命令行中的参数处理,但 optparse 模块已被 Python3.2、Python2.7 弃用;getopt 模块的API是来自C语言中的 getopt() 函数;argparse 模块是基于 optparse 的,使用方法相似,从 sys.argv 中解析参数,可编写用户友好的命令行界面,自动生成帮助和使用信息,对于无效参数可...

weixin_39656686的博客 119

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python 中的命令行参数处理 -- argparse、optparse、getopt

argparse、optparse、getopt 三个模块都可以对命令行中的参数处理,但 optparse 模块已被 Python3.2、Python2.7 弃用;getopt 模块的API是来自C语言中的 getopt() 函数;argparse 模块是基于 optparse 的,使用方法相似,从 sys.argv 中解析参数,可编写用户友好的命令行界面,自动生成帮助和使用信息,对于无效参数可...

weixin_30546933的博客 263

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python 命令行参数-Python命令行参数处理

sys模块sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数在Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序单元(包括变量、函数等),或者 [i for i in dir(sys) if not i.startswith('_')] 过滤掉隐藏的单...

weixin_37988176的博客 1956

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python命令行输入参数_Python命令行参数处理

sys模块sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数在Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序单元(包括变量、函数等),或者 [i for i in dir(sys) if not i.startswith('_')] 过滤掉隐藏的单...

weixin_39985842的博客 1388

Python 命令行参数模块

文章目录sys.argvargparse简单示例方法说明optparse简单示例方法说明getopt 在命令行中给定的参数就是命令行参数。(即从输入位置角度理解)。 eg: sys.argv 代码 import sys args = sys.argv print(args) 命令行下 $ python argv_test.py ['argv_test.py'] $ python argv...

酉酉的博客 1429

Python教程:命令行参数处理

sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数

Python热爱者的博客 1650

python 命令行参数-Python3之命令行参数处理

tocsys模块sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数在Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序单元(包括变量、函数等),或者 [i for i in dir(sys) if not i.startswith('_')] 过滤掉隐...

weixin_37988176的博客 435

python sys模块_Python命令行参数处理

sys模块 sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数在Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序单元(包括变量、函数等),或者 [i for i in dir(sys) if not i.startswith('_')] 过滤掉隐藏的...

weixin_39752828的博客 432

Python的三种命令行参数利用方式

Python的命令行参数

m0_46317063的博客 3997

五 python的命令行参数

前言        在运行python脚本的时候需要添加许多参数,例如:dirsearch -u "xxxx.com" -e *,那么脚本程序如何接受这些命令行传递的参数呢?        下面有四种方式,我个人觉得学习第一种和第四种即可,因为一些简单的程序可以用第一种简单一点,第四种方式是第三种方式的升级版。 文章目录前言0x01 sys.argv0x02 getop

qq_44657899的博客 714

Python命令行参数处理

sys模块 sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数 在Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序单元(包括变量、函数等),或者 [i for i in dir(sys) if not i.startswith(’_’)] 过滤掉隐藏的单元 常用单元 sys.argv:以列表的方式获取运行 Python 程序的命令行参数存放其中。其中 sy

python学习者的博客 1407

Python模块之命令行参数解析

转载https://www.cnblogs.com/madsnotes/articles/5687079.html 解析命令行参数模块 Python中由三个内建的模块用于处理命令行参数: 第一个:getopt,只能简单的处理命令行参数 官网资料:https://docs.python.org/2/library/getopt.html#module-getopt 第二个:optparse,...

chqj_163的专栏 242
上一篇: linux日志文件
下一篇: pexpect模块
first_wolf
博客等级 码龄14年 43粉丝 472原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值