实用方向:

处理命令行参数的一个方法,简单好用。

方法:

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模块使用相关推荐

  1. python中getopt函数_Python中getopt()函数的使用

    在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能.目前有短选项和长选项两种格式.短选项格式为"-"加上单个字母选项:长选项为"--"加 ...

  2. python getopt方法_python的getopt

    1.简介 所有UNIX程序甚至那些具有图形用户界面(Graphical User Interface,GUI)的程序,都能接受和处理命令行选项.对于某些程序,这是与其他程序或用户进行交互的主要手段.具 ...

  3. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  4. python必学的模块_Python常用的模块

    模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...

  5. python的窗口处理模块_python的图像处理模块

    除了opencv专门用来进行图像处理,可以进行像素级.特征级.语义级.应用级的图像处理外,python中还有其他库用来进行简单的图像处理,比如图像的读入和保存.滤波.直方图均衡等简单的操作,下面对这些 ...

  6. python安装os模块_python的os模块(ipython,文件,目录,权限,管理)

    什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...

  7. python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法

    其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2.psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用 ...

  8. python中自带的模块_python中的模块详解

    概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...

  9. python xlrd模块_python之xlrd模块

    xlrd模块 一.xlrd模块 1.python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2. xlrd模块 ...

  10. c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...

    在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...

最新文章

  1. 最高10万奖励!不限选题!高通AI应用创新大赛应用赛道详解
  2. 剑指offer_第20题_包含min函数的栈_Python
  3. c#只用一个for输出三角形
  4. 【更新】PPT管理控件Aspose.Slides V17.5发布 | 附下载
  5. JavaScript中的回调地狱及解决方法
  6. Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
  7. Make Fcitx Work In Sublime-Text-3
  8. Oracs Beta1 非 VPC版出来了
  9. Office And PDF 病毒分析工具
  10. 各省简称 拼音 缩写_中国省会城市拼音名称及缩写
  11. VsCode同步印象笔记
  12. IntelliJ IDEA 中文语言包插件
  13. 深入了解requestFullscreen()方法实现全屏显示
  14. c语言实现矩阵转置、矩阵乘法
  15. 创建express项目及npm start报错解决办法
  16. mysql查看被锁住的表
  17. 【Matlab】MATLAB编辑器主题颜色更改(MATLAB Schemer)
  18. 【知识笔记】Debugging
  19. 淘宝运营的逻辑与本质是什么?
  20. 古董万年历升级WiFi授时 STM32+ESP8266

热门文章

  1. 在物理内存中观察CLR托管内存及GC行为
  2. OSS.Common扩展.Net Standard支持实例分享
  3. 升级ASP.Net Core项目
  4. java hibernate 分页查询_4 Hibernate HQL查询,分页查询
  5. 非涉密计算机检查的通知,关于开展非涉密计算机及可移动存储介质专项清理活动的紧急通知...
  6. C++之inline函数
  7. 链表之判断一个链表是否为回文结构(一)
  8. workbench mysql mac_mysql workbench mac下载-mysql workbench mac 64位下载8.0.15 官方最新版__西西软件下载...
  9. 当代年轻人,都有些不成文的规定?
  10. 什么就像谈恋爱一样?