python中getopt()函数用法详解
目录
- 一、函数用法
- 二、示例
通过getopt模块中的getopt( )方法,我们可以获取和解析命令行传入的参数
一、函数用法
- getopt(args, shortopts, longopts=[ ])
- args:固定写法sys.argv[1:]
- shortopts:短参
- 字符串类型,限制命令行可传入的短参名称(命令行可不传参,如果传参,必须是指定的参数名,否则会报错)
- 参数名必须为单字符,前面使用单短横线(-)
- 命令行写法:
- -a 不带参数值形式
- -b test_b 带参数值形式(中间空格可省略,个人推荐带上空格,更容易区分)
- -c 'test c' 参数值含空格,需要使用引号
- 按照上述命令行写法,shortopts的写法可以是:'ab:c:'
- 如果带参数值,则需要在参数名后面带上':'
- 各参数名先后顺序无所谓,比如'b:ac:'
- longopts:长参
- 数组类型,元素为字符串,限制命令行可传入的长参名称(命令行可不传参)
- 参数名前使用双短横线(--)
- 命令行写法:
- --aa 不带参数值形式
- --bb=test_bb 带参数值形式
- --cc='test cc' 带参数值形式,参数值含空格,需要使用引号
- 按上述命令行写法,longopts写法可以是:['aa', 'bb=', 'cc=']
- 如果带参数值,则需要在参数名后面带上'='
- 各参数名先后顺序无所谓
二、示例
代码
#! /usr/bin/env python # -*- coding: utf-8 -*- import sys from getopt import getopt opts, args = getopt(sys.argv[1:], 'ab:', ['aa', 'bb=']) # 解析出的参数名和值,格式:[(参数1,参数值1), (参数2,参数值2)...] print(f'opts: {opts}') # 未解析出来的参数值部分 print(f'args: {args}')
命令行
python main.py -a -b 'test short_b' --aa --bb=long_bb xxxx
输出:
opts: [('-a', ''), ('-b', 'test short_b'), ('--aa', ''), ('--bb', 'long_bb')]
args: ['xxxx']
对于没有参数值的a和aa参数,解析出的参数值都为空字符串'',由于bb参数的参数值long_bb和xxxx之间有空格,所以未解析出
命令行
python main.py -b=test_b
输出:
opts: [('-a', ''), ('-b', 'test short_b'), ('--aa', ''), ('--bb', 'long_bb')]
args: ['xxxx']
参数可传,也可省略,如果传,则必须是代码中所指定的
到此这篇关于python中getopt()函数用法的文章就介绍到这了,更多相关python getopt()函数用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python getopt 参数处理小示例
opts, args = getopt.getopt(sys.argv[1:], "t:s:h", ["walletype=", "servicename=",'help']) for a,o in opts: if a in ('-t', '--walletype'): walle_type = o elif a in ('-s', '--servicename'): service_name = o elif a in ('-h', '--h
-
python getopt详解及简单实例
python getopt详解 函数原型: getopt.getopt(args, shortopts, longopts=[]) 参数解释: args:args为需要解析的参数列表.一般使用sys.argv[1:],这样可以过滤掉第一个参数(ps:第一个参数是脚本的名称,它不应该作为参数进行解析) shortopts:简写参数列表 longopts:长参数列表 返回值: opts:分析出的(option, value)列表对. args:不属于格式信息的剩余命令行参数列表. 源码分析 在An
-
python采用getopt解析命令行输入参数实例
本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考. 具体实例代码如下: import getopt import sys config = { "input":"", "output":".", } #getopt三个选项,第一个一般为sys.argv[1:],第二个参数为短参数,如果参数后面必须跟值,须加:,第三个参数为长参数 #是一个列表, opts, args = getopt.g
-
Python getopt模块处理命令行选项实例
getopt模块用于抽出命令行选项和参数,也就是sys.argv命令行选项使得程序的参数更加灵活.支持短选项模式和长选项模式例如 python scriptname.py -f 'hello' --directory-prefix=/home -t --format 'a' 'b' 复制代码 代码如下: import getopt, sysshortargs = 'f:t'longargs = ['directory-prefix=', 'format']opts, args = getopt
-
Python参数解析模块sys、getopt、argparse使用与对比分析
一些命令行工具的使用能够大大简化代码脚本的维护成本,提升复用性,今天主要是借助于python提供的几种主流的参数解析工具来实现简单的功能,主要是学习实践为主,这是新年伊始开工的第一篇,还是花了一番功夫来完成写作的和实验的,希望能够帮到需要的朋友们,新的一年里,祝大家心想事成! 好了,废话不多说,下面进入正文. Python中有三个内建的模块用于处理命令行参数: 第一个:sys,最简单,只能够提供简单的参数解析功能 第二个:getopt,只能简单的处理命令行参数 ,较sys封装更好一点 第三个:a
-
Python中的getopt函数使用详解
函数原型: getopt.getopt(args, shortopts, longopts=[]) 参数解释: args:args为需要解析的参数列表.一般使用sys.argv[1:],这样可以过滤掉第一个参数(ps:第一个参数是脚本的名称,它不应该作为参数进行解析) shortopts:简写参数列表 longopts:长参数列表 返回值: opts:分析出的(option, value)列表对. args:不属于格式信息的剩余命令行参数列表. 源码分析 在Android生成OTA的build系
-
python中getopt()函数用法详解
目录 一.函数用法 二.示例 通过getopt模块中的getopt( )方法,我们可以获取和解析命令行传入的参数 一.函数用法 getopt(args, shortopts, longopts=[ ]) args:固定写法sys.argv[1:] shortopts:短参 字符串类型,限制命令行可传入的短参名称(命令行可不传参,如果传参,必须是指定的参数名,否则会报错) 参数名必须为单字符,前面使用单短横线(-) 命令行写法: -a 不带参数值形式 -b test_b 带参数值形式(中间空格可省
-
python中sort()函数用法详解
目录 1.函数sort()是对列表就地排序 2.函数sort()修改序列,不返回任何值 3.sorted()函数会返回一个排序列表,不改变原有序列 4.函数sort()是升序排序,如何降序排序,需要用到函数reverse() 5.函数sort()排序的高级用法 (1) key参数 (2) reverse参数 补充:python中sort的用法——对列表中的元素按关键字排序 总结 1.函数sort()是对列表就地排序 >>> x=[8,9,0,7,4,5,1,2,3,6] >>
-
Python的Lambda函数用法详解
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数.今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式. 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方. 先用def来定义函数,代码如下 def sq(x): return x*x map(sq,[y for y in range(10)]) 再用lambda函数来编写代码 map(lambda x: x*x,[y for y in r
-
python中yield的用法详解——最简单,最清晰的解释
首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受. 接下来是正题: 首先,如果你还没有对yield有个初步分认识,那么你先把yield看做"return",这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了.看做return之后再把它
-
Python中itertools的用法详解
iterator 循环器(iterator)是对象的容器,包含有多个对象.通过调用循环器的next()方法 (next()方法,在Python 3.x中),循环器将依次返回一个对象.直到所有的对象遍历穷尽,循环器将举出StopIteration错误. 在for i in iterator结构中,循环器每次返回的对象将赋予给i,直到循环结束.使用iter()内置函数,我们可以将诸如表.字典等容器变为循环器.比如 for i in iter([2, 4, 5, 6]): print i 标准库中的i
-
python中yield的用法详解
首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受. 接下来是正题: 首先,如果你还没有对yield有个初步分认识,那么你先把yield看做"return",这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了.看做return之后再把它
-
Python中re.findall()用法详解
在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.本文重点给大家介绍python中正则表达式 re.findall 用法 re.findall():函数返回包含所有匹配项的列表.返回string中所有与pattern相匹配的全部字串,返回形式为数组. 示例代码1:[打印所有的匹配项] import re s = "Long live the people's Republic of China" ret = re.findall('h', s) print(r
-
JavaScript中eval()函数用法详解
eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行. 如果参数是一个表达式,eval() 函数将执行表达式.如果参数是Javascript语句,eval()将执行 Javascript 语句. 语法 复制代码 代码如下: eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. eval()函数用法详解: 此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eva
-
对Python中的@classmethod用法详解
在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法. 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的. 不过还是好奇去查了一下. 大致可以理解为:使用了@classmethod修饰的方法是类专属的,而且是可以通过类名进行调用的.为了能够展示其与一般方法的差异,写一段简单的代码如下: class DemoClass: @classmethod def classPrint(self): print("class method"
-
python中openpyxl库用法详解
目录 一.读取数据 1.1 从工作簿中取得工作表 1.2 从表中取得单元格 1.3 从表中取得行和列 二.写入数据 2.1 创建Workbook对象来创建Excel文件并保存 2.2 案例分析一 :爬取数据并保存excel中 2.3 案例分析二: 操作单元格中内容样式并保存数据 2.4 案例分析三:将列表数据写入excel中 openpyxl模块是一个读写Excel 文档的Python库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档. openpyxl.load_wor
随机推荐
- HTML5附件拖拽上传drop & google.gears实现代码
- 可以将Bat转换位VBS文件的VBS脚本
- AngularJs IE Compatibility 兼容老版本IE
- 微信小程序 http请求封装详解及实例代码
- JavaScript 通过Ajax 动态加载CheckBox复选框
- 如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
- JSP生成静态页实践及其设计思想[转]
- ckeditor的使用和配置方法分享
- SQL Server表中添加新列并添加描述
- jquery实现简单的表单验证
- IIS下PHP运行环境搭建与网页服务器故障排查方法
- 十三、WIN2000下的xcopy可以复制文件的安全设置
- 微信游戏打飞机游戏制作(java模拟微信打飞机游戏)
- ByteArrayOutputStream简介和使用_动力节点Java学院整理
- android中Glide实现加载图片保存至本地并加载回调监听
- fleaphp rolesNameField bug解决方法
- 网跃科技为您提供免费100M全能型空间
- python先序遍历二叉树问题
- 基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
- Nginx启用proxy_cache缓存的方法