您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何在python中使用命令行參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在命令行下執(zhí)行某些命令的時候,通常會在一個命令后面帶上一些參數(shù),這些參數(shù)會傳遞到程序里,進(jìn)行處理,然后返回結(jié)果,在linux 下很多命令其實也是用python來實現(xiàn)的。那么如果做到在命令行輸入類似如下的命令并能得到正確的解析呢,比如
python commandline.py -l c:/temp -f c:/aaa.txt
這樣的命令,并在程序中進(jìn)行處理。下面詳細(xì)介紹處理辦法。
python為我們提供了一個模塊叫optparse,也是專門來處理命令行選項的。使用的方法
1. 產(chǎn)生一個 optparse.OptionParser
對象
2. 為這個對象增加 option
3. 對 optparse.OptionParser
對象進(jìn)行parse_args()
解析. 就能得到要調(diào)用的方法,和具體的參數(shù),下面就按這個步驟寫了一個例子:
#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 里面 記錄了每個選項是否為 true ,而 arguments 里面按順序記錄了各自的參數(shù)。我們可以在自己的程序中得到,并進(jìn)行處理。
當(dāng)然,你還可以通過 print sys.argv
來得到所有的參數(shù),但sys.argv[0]
表示的就是當(dāng)前執(zhí)行的腳本.后面的才是參數(shù).
看完上述內(nèi)容,你們對如何在python中使用命令行參數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。