python常用模块介绍之四:getopt模块

【教程】Python 获取命令行参数 getopt模块 用法详解 号后面要跟一个单词。如果还有些选项的附加参数,后面要紧跟"=“,再加上参数。”="号前后不能有空格。如以下是正确的:而这些是不正确的:test.py -i stringtest.py --input=string2. Python 获取和解析命令行参数 中有 和 这两个库来帮助我们获取和解析命令行参数import sysimport getopt利用 获取命令行参数:argv = sys.argv示例:输入:test.py -i string -d a b返回:[‘test.py’,‘-i’,‘str 阅读详情

有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的)。Python里的命令行参数是存储在sys.argv里,argv是一个列表,第一个元素也为程序名称。

看下面的例子:

python_getopt.py

# -*- coding:utf-8 -*-

import sys

if __name__ == '__main__':

        for item in sys.argv:

                print i

在命令行运行./python_getopt.py 1 2 3,结果如下:

python_getopt.py

1

2

3

用这种方式可以进行命令行参数的判断从而进行不同的动作。 
而Python的标准库里实际上有专门处理命令行参数的getopt模块,里面的提供了2个函数和一个类,我们主要使用getopt函数,先看下函数原型: 
def getopt(args, shortopts, longopts = [])
: 
先看一个例子,这样会便于理解。

try: 

         opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="]) 

except Exception, e: 

         # sys.exit()

          

for opt, arg in opts:

          print opt, arg

for i in args:

          print i

  

1. 使用sys.argv[1:] 过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。  
2.
使用短格式分析串"ho:" 。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":" 号。所以"ho:" 就表示"h" 是一个开关选项;"o:" 则表示后面应该带一个参数。  
3.
使用长格式分析串列表:["help", "output="] 。长格式串也可以有开关状态,即后面不跟"=" 号。如果跟一个等号则表示后面还应有一个参数。这个长格式表示"help" 是一个开关选项;"output=" 则表示后面应该带一个参数。  
4.
调用getopt 函数。函数返回两个列表:opts 和args 。opts 为分析出的格式信息。args 为不属于格式信息的剩余的命令行参数。opts 是一个两元组的列表。每个元素为:( 选项串, 附加参数) 。如果没有附加参数则为空串'' 。 
5.
整个过程使用异常来包含,这样当分析出错时,就可以打印出使用信息来通知用户如何使用这个程序。  
如上面解释的一个命令行例子为:  '-h -o file --help --output=out file1 file2' 
在分析完成后,opts 应该是:  [('-h', ''), ('-o', 'file'), ('--help', ''), ('--output', 'out')] 
而args 则为:  ['file1', 'file2']

 
下面就是根据不同参数处理:

for o, a in opts: 

    if o in ("-h", "--help"): 

        usage() 

        sys.exit() 

    elif o in ("-o", "--output"): 

        output = a

【Python】getopt 模块 在现代软件开发的浩瀚领域中,程序与用户之间的交互方式千姿百态。从华丽的图形用户界面(GUI)到简洁高效的命令行接口(CLI),每种方式都承载着特定的使命。当我们需要编写自动化脚本、系统工具或那些不依赖于复杂视觉反馈的后端服务时,命令行接口(CLI)便成为了无可争议的首选。它以其直接、高效、易于脚本化和远程操作的特性,在运维、数据处理、自动化构建等场景中展现出无与伦比的优势。然而,CLI的强大之处并不仅仅在于执行一个简单的命令。真正的力量在于其能够根据用户的特定需求,灵活地调整程序的行为。这种灵活性,正是通过 阅读详情

相关推荐

python getopt模块使用实例解析

主要介绍了python getopt模块使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python getopt模块

Python模块getopt

weixin_43054437的博客 990

WIN10环境下STK11.5(含Analyzer, EOIR, Scheduler插件)的安装与破解全攻略

本文提供了一份详细的WIN10环境下STK11.5软件及其核心插件(Analyzer, EOIR, Scheduler)的安装与破解全攻略。内容涵盖从安装包准备、系统环境检查,到基础版安装、插件部署、破解文件替换及许可证配置的完整步骤,并附有常见问题排错指南,旨在帮助用户免费搭建功能齐全的卫星仿真分析环境。

solidity8miner的博客 756

Python之getopt模块的用法

getopt模块的用法

Kelly_Ai_Bai的博客 1757

GPS数据处理必备:IGS精密星历下载与使用全攻略(附武汉大学/CDDIS/CODE/GFZ地址)

本文为GPS/GNSS数据处理者提供了IGS精密星历的完整下载与使用指南。详细解析了最终、快速、超快速三种精密星历产品的区别与选择策略,并手把手教学如何从武汉大学、CDDIS、CODE、GFZ四大主流数据中心高效获取数据,涵盖文件命名规则解析及自动化下载脚本,助力科研与工程应用。

weixin_29234239的博客 678

利用Sigrity的SPEED2000进行时域电源噪声分析

SPEED2000进行时域电源噪声分析

ZHENGSA的博客 3620

Python 的 getopt 模块:命令行选项解析的得力助手

getopt模块是 Python 标准库的一部分,主要用于解析命令行选项和参数列表。它支持 Unix 风格的短选项(如-a)和 GNU 风格的长选项(如--help),其 API 设计借鉴了 C 语言的getopt()函数,对于熟悉 C 语言命令行参数处理的开发者来说较为友好。不过,文档也建议,若不熟悉 C 语言getopt()函数,或者希望以更少代码实现更完善的帮助和错误消息功能,可考虑使用argparse模块。getopt。

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 1049

硬全桥副边钳位管Vds电压凸台揭秘——寄生参数引发的导通异常

本文深入分析了硬全桥副边钳位管Vds电压凸台现象,揭示了寄生参数如何引发导通异常。通过波形分析和工程实践,详细解析了走线电感的蓄能效应和体二极管的接力作用,并提供了PCB布局优化、元件选型和驱动电路调整等解决方案,帮助工程师有效应对这一常见问题。

weixin_30825581的博客 429

python中getopt函数详解

在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能。目前有短选项和长选项两种格式。短选项格式为"-"加上单个字母选项;长选项为"--"加上一个单词。长格式是在Linux下引入的。许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单。 一、getopt模块有两个函数,两个属性: 函数: getopt.ge...

白清羽的博客 2万+

YOLOv11改进策略【损失函数篇】| arXiv2025 TeLU双曲正切指数线性单元 强梯度防消失 + 解析光滑稳训练,极速提升收敛与泛化

本文记录的是。TeLU(Hyperbolic Tangent Exponential Linear Unit)通过。本文利用TeLU激活函数,以x⋅tanhex统一实现正区间强梯度加速收敛与负区间持续梯度避免死神经元,全程保持解析光滑与极低计算开销,,显著提升深度网络在分类、检测、分割、时序任务中的收敛速度、精度与泛化鲁棒性。

Limiiiing的博客 224

Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载

p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口(配置映射是因为用户只能通过 http 请求访问到服务器,不能直接访问到对应的容器,因此需要服务器端口与容器端口建立映射关系)这里我们有两种启动 redis 的方式,第一种是直接启动 redis ,第二种是以 AOF 持久化的方式启动容器(--appendonly yes),如下图。如果需要持续查看日志信息可以添加 -f 参数,例如:docker logs -f mn ,这里 mn 是自定义容器名称, ctrl + c 可以停止跟踪。

CYK_byte的博客 1万+

Python入门之——getopt模块

getopt.getopt(args, options[, long_options]) 对于短格式options,-号后要紧跟一个选项字母。如果还有此选项的附加参数,可以用空格分开,也可以不分开,长度任意,可以用引号(比如-uroot、-u root、-u"root"、-u’root’、-u “root”、-u ‘root’)。 对于长格式long_options,–号后要紧跟一个单词。如果还有参数要附加,后面要紧跟=,再加上参数,等号前后都不能有空格。 ?vrJ:p:u:h:f: 也可以写为 -?-v-

肥叔菌的博客 7127

汽车UDS诊断之诊断会话控制服务(0x10)深度剖析

DiagnosticSessionControl就是诊断会话控制。 请求消息定义 A_Data类型 参数名称 Cvt 字节值 助记符 #1 诊断会话控制请求SID M 0x10 DSC #2 子功能=[诊断会话类型] M 0x00-0xFF LEV_DS_ ...

心骗小白话的博客 7419

Python3命令行参数之getopt模块详解

文章目录简介参数返回值opts和args调用问题 内建模块,用于解析带参数和选项的程序。 官方介绍地址: https://docs.python.org/3.1/library/getopt.html 简介 具体文档请查看: print(getopt.__doc__) 参数 这个模块一共有两个函数,两个属性: 函数: getopt.getopt getopt.gnu_getopt 属性: getopt.error getopt.GetoptError 这两个属性主要是用来抛出错误信息的,非常友好

al_888的博客 3339

【时时三省】vector cast (vcast) 集成测试使用教程

山不在高,有仙则名。水不在深,有龙则灵。----优快云 时时三省。

时时三省的博客 708

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python3 getopt介绍

getopt函数简介 运行程序时,根据不同的条件,输入不同的命令行选项实现不同的功能。getopt函数支持短选项和长选项两种格式。短选项的格式为"-"加上一个字母;长选项为"--"加上一个单词。 getopt模块有两个函数 getopt.getopt getoptgnu_getopt 其中最常用的是getopt.getopt函数: getopt.getopt(args,shortopts,longopts=[]) args指的是当前脚本接受的参数,是一个列表,通过sys.argv获得 shor

星落的博客 796

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python模块之getopt

元组的列表,第二个是args剥离短选项及其参数和长选项及其参数之后剩余的参数列表。类似,但默认使用GNU风格的选项解析模式,这意味着选项参数和非选项参数可以混合,而。前缀的选项,value表示该option对应的参数,可以为空字符串表示无参数。要解析的参数列表,但不包括当前执行的python脚本名称,一般等同于。如果不需要短选项,可以设置为空字符串。,同样会在遇到第一个非选项参数时停止解析。表示需要给定参数,不支持可选参数。要识别的短选项字符串,如果后接。传递了值给不需要参数的长选项。

xingyuelhb的博客 1219

jre9下载 jdk9

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

python getopt模块踩坑指南

简单介绍下getopt模块,getopt顾名思意(getoption)就是获取命令行参数的一个模块 一般我们获取命令行参数会使用到如下代码: import sys print sys.argv 然后终端调用 > python test.py -m abc -d 123 ['test.py', '-m', 'abc', '-d', '123'] 所有的命令行参数都被以空格分割放在...

小猪佩奇工作室 2448

python中getopt函数_python getopt函数详解

getopt模块可以帮助脚本解析sys.argv的命令行参数,它遵守和Unix getopt()函数相同的约定,该模块提供两个函数和一个异常。1. getopt.getopt(args, options[, long_options])功能:解析命令选项和参数列表args: 要解析的参数列表,传入命令行参数要传入sys.argv[1:]options: 由打算获取的选项字母组成的字符串,要获得某个...

weixin_39741459的博客 1564

python getopt模块_python3之getopt模块便用

getopt是python3中按C语言的格式来进行参数选项的处理模块。getopt能够处理短选项和长选项:-a 短选项--add 长选项处理过程分为三步:第一步先取得要处理的选项集字符串import sysargs = sys.argv[1:]第二步调用方式getopt.getopt(args,'hvo:') 短选项getopt.getopt(args,(hvo:),['help', 'vers...

weixin_39993454的博客 337

python getopt模块的使用

getopt 是一个python模块, 处理命令行参数的,和sys.argv是一样的功能, 这个功能和c语言处理命令行参数的功能和函数是一样的, 例如你在命令行里边是这样运行的: python test_getopy.py -i:127.0.0.1 -p:8888 或者python test_getopt.py --ip=127.0.01 --port=8888, getopt模块将帮你处理这些参...

每天一勃 5359

getopt模块之getopt与gnu_getopt的不同

在unix系统中,程序的执行常伴有一些配置选项,如 df -h 或 df --help 其中,-h和--help就代表把分区的大小以KB或MB等单位显示,以方便用户阅读 更复杂一些的, ./run.py -c configfile 或 ./run.py --config=configfile -c或--config为程序指定了一个配置文件,为程序提供一些必要的变量信息。

yanfengxi的专栏 2044

python getopt方法_python的getopt

1、简介所有UNIX程序甚至那些具有图形用户界面(Graphical User Interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更好用。Getopt是一个专门设计来减轻命令行处理负担的库函数,主要用来分析命令行参数,不仅python语言中有getopt,C语言中也有geto...

weixin_39963440的博客 2438
上一篇: python常用功能介绍之二:异常处理
下一篇: Linux Vxlan网络隧道互通环境模拟
赤焰军
博客等级 码龄12年 87粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值