今天就跟大家聊聊有關(guān)如何在python中使用命令行參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在命令行下執(zhí)行某些命令的時(shí)候,通常會(huì)在一個(gè)命令后面帶上一些參數(shù),這些參數(shù)會(huì)傳遞到程序里,進(jìn)行處理,然后返回結(jié)果,在linux 下很多命令其實(shí)也是用python來實(shí)現(xiàn)的。那么如果做到在命令行輸入類似如下的命令并能得到正確的解析呢,比如
python commandline.py -l c:/temp -f c:/aaa.txt
這樣的命令,并在程序中進(jìn)行處理。下面詳細(xì)介紹處理辦法。
python為我們提供了一個(gè)模塊叫optparse,也是專門來處理命令行選項(xiàng)的。使用的方法
1. 產(chǎn)生一個(gè) optparse.OptionParser
對(duì)象
2. 為這個(gè)對(duì)象增加 option
3. 對(duì) optparse.OptionParser
對(duì)象進(jìn)行parse_args()
解析. 就能得到要調(diào)用的方法,和具體的參數(shù),下面就按這個(gè)步驟寫了一個(gè)例子:
#coding:utf-8 import optparse import sys def execCommand(): descriptionMessage = """ python command line test """ p = optparse.OptionParser(description=descriptionMessage, prog='mycommand', version='mycommand 0.1', usage= '%prog [starting ][action]') p.add_option('--list', '-l', action="store_true", help='lists all files', default=False) p.add_option('--file', '-f', action="store_true", help='test process file', default=False) options, arguments = p.parse_args() print 'get all options:',options if options.list: print 'begin list function :',arguments #可以寫入你自己的邏輯了 if options.file: print 'begin file function:',arguments #可以寫入自己的邏輯處理了 if __name__=='__main__': execCommand()
下面在命令行窗口運(yùn)行處理,看效果圖:
由此我們可以發(fā)現(xiàn), options 里面 記錄了每個(gè)選項(xiàng)是否為 true ,而 arguments 里面按順序記錄了各自的參數(shù)。我們可以在自己的程序中得到,并進(jìn)行處理。
當(dāng)然,你還可以通過 print sys.argv
來得到所有的參數(shù),但sys.argv[0]
表示的就是當(dāng)前執(zhí)行的腳本.后面的才是參數(shù).
看完上述內(nèi)容,你們對(duì)如何在python中使用命令行參數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站欄目:如何在python中使用命令行參數(shù)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://aaarwkj.com/article46/ihghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站設(shè)計(jì)公司、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容