python getopt模块_python之getopt模块使用
实用方向:
处理命令行参数的一个方法,简单好用。
方法:
getopt模块总共有2个函数,分别为:
getopt.getopt
getopt.gnu_getopt
简单使用:
getopt这个函数常用,简单看一下这个函数的使用:
getopt.getopt(args, shortopts, longopts=[])
看这几个参数,
args为:脚本接受的参数,传入为list类型,此处与sys.argv连并使用,sys.argv可参考:https://www.cnblogs.com/dflblog/p/12050060.html
shortopts:短参数。就是参考:python3 test.py -v ,这个-v就是需要用到的短参数。
longopts=[]:长参数。就是参考:python3 test.py --v,两个-的就是需要用到的长参数。
先简单有一个印象。
那后面需要用到的参数怎么传入,怎么处理呢?
参数处理:
import sys
import getopt
opts= getopt.getopt(sys.argv[1:],"-h",["help"])
print(opts)
我们在命令行跑一下:
GL$python3 111.py --help
([('--help', '')], [])GL$python3 111.py -h
([('-h', '')], [])
打印了如上的内容,我们依次看一下
1、我们为什么要用sys.argv[1:]呢?是因为第0个是函数本身,所以接受除本身之外的所以参数
2、返回的是一个tuple,第一个list我们可以理解是传入的--h,加到了一个list里,第二个list则是-h后面加的参数,这里没有加,所以为空
下面来实践一下:
import getopt
import sys
opts,args= getopt.getopt(sys.argv[1:],'-h-w:-v',['help','version'])for opt_name,opt_value inopts:if opt_name in ('-h','--help'):
print(opt_name,"this is help")
exit()if opt_name == '-w':
print("-w:",opt_value)
exit()if opt_name in ('-v','--version'):
print('version:0.01')
exit()
运行起来看看:
GL$python3 111.py -w 123-w: 123GL$python3 111.py -h-h this ishelpGL$python3 111.py -v
version:0.01GL$python3 111.py --help--help this is help
由上,又出现了个新东西,shortopts里面怎么多了个冒号呢??那个是干啥的?
其实,从上面的例子也可以简单看出来,加冒号意思就是-w后面要加参数,不加冒号就不用加参数,longopts也是一样,冒号用等号代替。
好,这里都已经有些了解了。那么后面的args,是干啥的呀。还有opts又是干啥的呀。
opts 就是分析出的格式信息。args 为不属于格式信息的剩余的命令行参数。
opts 是一个两元组的列表。(选项串, 附加参数) 。如果没有则为空。
下面看例子:
我们在最开头打印args,也就是加一行 print(args),我就不贴代码了。
运行起来:
GL$python3 111.py --help ssss
['ssss']--help this ishelp/GL$python3 111.py -w 123 123['123']-w: 123
多余的未识别的就成了args里面的内容了。
python getopt模块_python之getopt模块使用相关推荐
- python中getopt函数_Python中getopt()函数的使用
在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能.目前有短选项和长选项两种格式.短选项格式为"-"加上单个字母选项:长选项为"--"加 ...
- python getopt方法_python的getopt
1.简介 所有UNIX程序甚至那些具有图形用户界面(Graphical User Interface,GUI)的程序,都能接受和处理命令行选项.对于某些程序,这是与其他程序或用户进行交互的主要手段.具 ...
- 简述python中怎样导入模块_Python中导入模块的两种模式,import
import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...
- python必学的模块_Python常用的模块
模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...
- python的窗口处理模块_python的图像处理模块
除了opencv专门用来进行图像处理,可以进行像素级.特征级.语义级.应用级的图像处理外,python中还有其他库用来进行简单的图像处理,比如图像的读入和保存.滤波.直方图均衡等简单的操作,下面对这些 ...
- python安装os模块_python的os模块(ipython,文件,目录,权限,管理)
什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...
- python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法
其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2.psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用 ...
- python中自带的模块_python中的模块详解
概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...
- python xlrd模块_python之xlrd模块
xlrd模块 一.xlrd模块 1.python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2. xlrd模块 ...
- c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...
在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...
最新文章
- 最高10万奖励!不限选题!高通AI应用创新大赛应用赛道详解
- 剑指offer_第20题_包含min函数的栈_Python
- c#只用一个for输出三角形
- 【更新】PPT管理控件Aspose.Slides V17.5发布 | 附下载
- JavaScript中的回调地狱及解决方法
- Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
- Make Fcitx Work In Sublime-Text-3
- Oracs Beta1 非 VPC版出来了
- Office And PDF 病毒分析工具
- 各省简称 拼音 缩写_中国省会城市拼音名称及缩写
- VsCode同步印象笔记
- IntelliJ IDEA 中文语言包插件
- 深入了解requestFullscreen()方法实现全屏显示
- c语言实现矩阵转置、矩阵乘法
- 创建express项目及npm start报错解决办法
- mysql查看被锁住的表
- 【Matlab】MATLAB编辑器主题颜色更改(MATLAB Schemer)
- 【知识笔记】Debugging
- 淘宝运营的逻辑与本质是什么?
- 古董万年历升级WiFi授时 STM32+ESP8266
热门文章
- 在物理内存中观察CLR托管内存及GC行为
- OSS.Common扩展.Net Standard支持实例分享
- 升级ASP.Net Core项目
- java hibernate 分页查询_4 Hibernate HQL查询,分页查询
- 非涉密计算机检查的通知,关于开展非涉密计算机及可移动存储介质专项清理活动的紧急通知...
- C++之inline函数
- 链表之判断一个链表是否为回文结构(一)
- workbench mysql mac_mysql workbench mac下载-mysql workbench mac 64位下载8.0.15 官方最新版__西西软件下载...
- 当代年轻人,都有些不成文的规定?
- 什么就像谈恋爱一样?