1. 程式人生 > >python學習(命令列的解析)

python學習(命令列的解析)

在python中我們不需要進行字串的解析,而是可以直接使用一個類OptionParse即可,直接進行呼叫,首先要將該類進行匯入

from optparse import OptionParser

這樣我們就可以直接使用;
optParse=OptionParser()

然後是進行引數的新增
optParse.add_option("-f","--file",action="store",type="string",dest="fileName")
optParse.add_option("-v","--version",action="store_false",dest="verbose",default="gggg")
#構造我們解析的命令列
fakeArgs=['-f','file.txt','-v','good luck']
options,args=optParse.parse_args(fakeArgs)
print options.fileName      #注意,這裡會輸出file.txt,因為action表明要進行儲存,同時該屬性的名稱是fileName,值就是我們輸入的file.txt
print options.verbosr     #這裡會輸出false,因為我們指定了store_false,不進行儲存
print options     #全部輸出,以鍵值對的方式輸出 {"fileName":"file.txt","verbose":FALSE}
print  args #是一個list容器,在去掉options解析的內容之外剩下的內容

這樣就可以解析出我們輸入的引數了,但是還有一點,對於這樣的輸入

MSG_USAGE = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"

optParser = OptionParser(MSG_USAGE)

這樣的結果只有在進行列印輸出的時候,將MSG_USAGE首先進行輸出,類似於提示資訊,解析add_option的引數

"-f"  short option string 為第一個引數,表示option的縮寫

"--file" long option string 為第二個引數,表示全拼

action 表示對該option的處理,預設值是"store",也即將輸入引數儲存到物件成員當中,還有"store_true"儲存"store_false"不儲存

type 表示option值的型別,預設是string

default表示option的預設值

metavar 表示顯示到help中option的預設值