您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中optparser库用法实例详解

5b51 2022/1/14 8:15:25 python 字数 7474 阅读 305 来源 www.jb51.cc/python

本文研究的主要是Python中optparser库的相关内容,具体如下。 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库。当然了,不敢说理解的很到位,但是足以应付正常的使用了。废话不多说,开始

概述

本文研究的主要是Python中optparser库的相关内容,具体如下。

一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库。当然了,不敢说理解的很到位,但是足以应付正常的使用了。废话不多说,开始今天的分享吧。

简介

optparse模块主要用来为脚本传递命令参数功能.

引入

在IDE中引入optparser是很方便的。

from optparser import OptionParser

初始化

相对而言,初始化需要我们多注意一点点了。
因为我们有两种不同的方式来初始化一个parser。

带有Usage选项:

这样的好处是可以模拟带有帮助的终端使用,如下

>>> from optparse import OptionParser
>>> usage = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"
>>> parser=OptionParser(usage) #这里为类添加了参数usage

显示的时候就会使这样的了。

>>> parser.print_help()
Usage: myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]
Options:
 -h,--help      show this help message and exit #此两行根据option自动生成,比较智能额~~
 -f FILENAME,--file=FILENAME
            no any help #自定义帮助信息

不带Usage选项:

正常来说可以不用设置参数。

parser = OptionParser()

添加选项

为命令行添加选项是我们这次最主要的工作了,也是核心。但是在添加选项之前,我们应该明白,为什么要添加选项?选项的工作原理是什么?这样我们才能更好的理解optparser的设计思想。

选项:类比于Unix的工作模式。举例 ls -a 或者 ls -all.
我们添加一个名为all 的选项,为了简化操作,认设置为a.

在OptionParser中要想实现这样的一个效果,我们只需要借助如下的一行代码

# 这只是示意而已,没有什么意义
parser.add_option('-a','--all' )

核心

作为核心就是指add_option的其他的参数。有如下几个:

1.store 认值
- store_false 标记而已 配合下边的那个store_true来进行代码的“标记”,辅助流程控制。

2.store_true 标记而已

单纯的讲起来很枯燥,下面看一个小例子就会明白了。

>>> parser.add_option("-f","--file",action="store",type="string",dest="filename")
<Option at 0x2d72f48: -f/--file>
>>> args = ["-f","foo.txt"] #这个是模拟命令行的输入
>>> (options,args) = parser.parse_args(args)
>>> options.filename
'foo.txt'

对于action属性可以看看接下来的这段代码

>>> from optparse import OptionParser
>>> parser=OptionParser()
>>> parser.add_option("-v",action="store_true",dest="verbose")
<Option at 0x2ceb888: -v>
>>> parser.add_option("-q",action="store_false",dest="verbose")
<Option at 0x2d68e48: -q>
>>> fakeArgs = ['-v','hello']
>>> options,args = parser.parse_args(fakeArgs)
>>> options.verbose
True
>>> fakeArgs = ['-q','bye bye']
>>> options,args = parser.parse_args(fakeArgs)
>>> options.verbose
False
#如果同时写两个选项v和q,它会以哪个为准呢,答案是以最后出现的为准
>>> fakeArgs = ['-q','bye bye','-v',args = parser.parse_args(fakeArgs)
>>> options .verbose
True

非核心

这里主要是讲解一下关于default参数的作用,其实就是给dest的认值。

如果我们没有指定dest的值的话,default的值就会作为dest的认值来进行使用!

>>> parser.add_option("-x",dest="verbose",default="defaultvalue")
<Option at 0x2d77148: -x>
>>> options,args = parser.parse_args() #这里没有传参数
>>> options.verbose
'defaultvalue'

完整的demo

from optparse import OptionParser
usage = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"
optParser = OptionParser(usage)
optParser.add_option("-f",action = "store",dest = "fileName")
ooptParser.add_option("-v","--vison",default='None',help="make lots of noise [default]")
fakeArgs = ['-f','file.txt','good luck to you','arg2','arge'] 
options,args = optParser.parse_args(fakeArgs)
print options.fileName
print options.verbose
print options
print args
print optParser.print_help()

运行结果如下:

file.txt
False
{'verbose': False,'fileName': 'file.txt'}
['this is some what','arge']
Usage: myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]
Options:
-h,--help show this help message and exit
-f FILENAME,--file=FILENAME
-v,--vison make lots of noise [default]

总结

以上就是本文关于Python中optparser库用法详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持

总结

以上是编程之家为你收集整理的Python中optparser库用法实例详解全部内容,希望文章能够帮你解决Python中optparser库用法实例详解所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶