最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中optparser庫(kù)用法實(shí)例詳解

 更新時(shí)間:2018年01月26日 15:19:49   作者:Marksinoberg  
這篇文章主要介紹了Python中optparser庫(kù)用法實(shí)例詳解,介紹了optparser的引入,初始化等相關(guān)內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是Python中optparser庫(kù)的相關(guān)內(nèi)容,具體如下。

一直以來(lái)對(duì)optparser不是特別的理解,今天就狠下心,靜下心研究了一下這個(gè)庫(kù)。當(dāng)然了,不敢說(shuō)理解的很到位,但是足以應(yīng)付正常的使用了。廢話不多說(shuō),開(kāi)始今天的分享吧。

簡(jiǎn)介

optparse模塊主要用來(lái)為腳本傳遞命令參數(shù)功能.

引入

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

from optparser import OptionParser

初始化

相對(duì)而言,初始化需要我們多注意一點(diǎn)點(diǎn)了。
因?yàn)槲覀冇袃煞N不同的方式來(lái)初始化一個(gè)parser。

帶有Usage選項(xiàng):

這樣的好處是可以模擬帶有幫助的終端使用,如下

>>> from optparse import OptionParser
>>> usage = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"
>>> parser=OptionParser(usage) #這里為類添加了參數(shù)usage

顯示的時(shí)候就會(huì)使這樣的了。

>>> parser.print_help()
Usage: myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]
Options:
 -h, --help      show this help message and exit #此兩行根據(jù)option自動(dòng)生成,比較智能額~~
 -f FILENAME, --file=FILENAME
            no any help #自定義幫助信息

不帶Usage選項(xiàng):

正常來(lái)說(shuō)可以不用設(shè)置參數(shù)。

parser = OptionParser()

添加選項(xiàng)

為命令行添加選項(xiàng)是我們這次最主要的工作了,也是核心。但是在添加選項(xiàng)之前,我們應(yīng)該明白,為什么要添加選項(xiàng)?選項(xiàng)的工作原理是什么?這樣我們才能更好的理解optparser的設(shè)計(jì)思想。

選項(xiàng):類比于Unix的工作模式。舉例 ls -a 或者 ls -all.
我們添加了一個(gè)名為all 的選項(xiàng),為了簡(jiǎn)化操作,默認(rèn)設(shè)置為a.

在OptionParser中要想實(shí)現(xiàn)這樣的一個(gè)效果,我們只需要借助如下的一行代碼。

# 這只是示意而已,沒(méi)有什么意義
parser.add_option('-a' , '--all' )

核心

作為核心就是指add_option的其他的參數(shù)。有如下幾個(gè):

  • action: 驗(yàn)證輸入數(shù)據(jù)類型是否和type 匹配,并將符合要求的這個(gè)參數(shù)存儲(chǔ)到dest變量中。有以下幾個(gè)屬性:

1.store 默認(rèn)值
- store_false 標(biāo)記而已 配合下邊的那個(gè)store_true來(lái)進(jìn)行代碼的“標(biāo)記”,輔助流程控制。

2.store_true 標(biāo)記而已

  • type : 指的是對(duì)應(yīng)于參數(shù),如-f,-n等的接下來(lái)的那個(gè)參數(shù)的數(shù)據(jù)類型,有string,int,float等等
  • dest : 用于保存臨時(shí)變量,其值可以作為options的屬性進(jìn)行訪問(wèn)。存儲(chǔ)的內(nèi)容就是如-f,-n 等緊挨著的那個(gè)參數(shù)內(nèi)容。
  • help: 提供用戶友好的幫助信息,一般可以用來(lái)解釋本add_option方法的功能闡述。

單純的講起來(lái)很枯燥,下面看一個(gè)小例子就會(huì)明白了。

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

對(duì)于action屬性可以看看接下來(lái)的這段代碼。

>>> 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
#如果同時(shí)寫(xiě)兩個(gè)選項(xiàng)v和q,它會(huì)以哪個(gè)為準(zhǔn)呢,答案是以最后出現(xiàn)的為準(zhǔn)
>>> fakeArgs = ['-q','bye bye','-v','hello']
>>> options, args = parser.parse_args(fakeArgs)
>>> options .verbose
True

非核心

這里主要是講解一下關(guān)于default參數(shù)的作用,其實(shí)就是給dest的默認(rèn)值。

如果我們沒(méi)有指定dest的值的話,default的值就會(huì)作為dest的默認(rèn)值來(lái)進(jìn)行使用!

>>> parser.add_option("-x", action="store", dest="verbose", default="defaultvalue")
<Option at 0x2d77148: -x>
>>> options, args = parser.parse_args() #這里沒(méi)有傳參數(shù)
>>> options.verbose
'defaultvalue'

完整的demo

from optparse import OptionParser
usage = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"
optParser = OptionParser(usage)
optParser.add_option("-f","--file",action = "store",type="string",dest = "fileName")
ooptParser.add_option("-v","--vison", action="store_false", dest="verbose",default='None',
           help="make lots of noise [default]")
fakeArgs = ['-f','file.txt','-v','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()

運(yùn)行結(jié)果如下:

file.txt
False
{'verbose': False, 'fileName': 'file.txt'}
['this is some what', 'arg2', '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]

總結(jié)

以上就是本文關(guān)于Python中optparser庫(kù)用法詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

临城县| 三江| 霍林郭勒市| 渭源县| 本溪市| 长岭县| 瑞昌市| 吉安市| 资兴市| 襄城县| 确山县| 临泉县| 固安县| 昌宁县| 英山县| 奉化市| 满洲里市| 会同县| 寿宁县| 鲜城| 罗平县| 乐昌市| 尤溪县| 平顺县| 宜良县| 桐庐县| 阜新| 乌兰县| 宾阳县| 沁源县| 湖口县| 昌都县| 陈巴尔虎旗| 元朗区| 巫溪县| 云林县| 北宁市| 建瓯市| 阳东县| 尼木县| 新竹市|