python學習(命令列的解析)
阿新 • • 發佈:2018-12-31
在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的預設值