python命令行參數(shù)用法實(shí)例分析
本文實(shí)例講述了python命令行參數(shù)用法。分享給大家供大家參考,具體如下:
在命令行下執(zhí)行某些命令的時(shí)候,通常會(huì)在一個(gè)命令后面帶上一些參數(shù),這些參數(shù)會(huì)傳遞到程序里,進(jìn)行處理,然后返回結(jié)果,在linux 下很多命令其實(shí)也是用python來(lái)實(shí)現(xiàn)的。那么如果做到在命令行輸入類似如下的命令并能得到正確的解析呢,比如
python commandline.py -l c:/temp -f c:/aaa.txt
這樣的命令,并在程序中進(jìn)行處理。下面詳細(xì)介紹處理辦法。
python為我們提供了一個(gè)模塊叫optparse,也是專門(mén)來(lái)處理命令行選項(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è)步驟寫(xiě)了一個(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
#可以寫(xiě)入你自己的邏輯了
if options.file:
print 'begin file function:',arguments
#可以寫(xiě)入自己的邏輯處理了
if __name__=='__main__':
execCommand()
下面在命令行窗口運(yùn)行處理,看效果圖:



由此我們可以發(fā)現(xiàn), options 里面 記錄了每個(gè)選項(xiàng)是否為 true ,而 arguments 里面按順序記錄了各自的參數(shù)。我們可以在自己的程序中得到,并進(jìn)行處理。
當(dāng)然,你還可以通過(guò) print sys.argv 來(lái)得到所有的參數(shù),但sys.argv[0]表示的就是當(dāng)前執(zhí)行的腳本.后面的才是參數(shù).
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python獲得命令行輸入的參數(shù)的兩種方式
- python 如何利用argparse解析命令行參數(shù)
- 淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作
- Python命令行click參數(shù)用法解析
- Python如何使用argparse模塊處理命令行參數(shù)
- python解析命令行參數(shù)的三種方法詳解
- 命令行運(yùn)行Python腳本時(shí)傳入?yún)?shù)的三種方式詳解
- Python命令行參數(shù)解析工具 docopt 安裝和應(yīng)用過(guò)程詳解
- python 命令行傳入?yún)?shù)實(shí)現(xiàn)解析
- python的pytest框架之命令行參數(shù)詳解(上)
- python獲取命令行輸入?yún)?shù)列表的實(shí)例代碼
- Python命令行參數(shù)定義及需要注意的地方
相關(guān)文章
Python中關(guān)于面向?qū)ο笾欣^承的詳細(xì)講解
面向?qū)ο缶幊?(OOP) 語(yǔ)言的一個(gè)主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無(wú)需重新編寫(xiě)原來(lái)的類的情況下對(duì)這些功能進(jìn)行擴(kuò)展2021-10-10
python編程培訓(xùn) python培訓(xùn)靠譜嗎
現(xiàn)在大家都知道,比較火的編程語(yǔ)言就是python了,很多朋友都想學(xué)習(xí)python編程,想上一個(gè)好的python培訓(xùn)班,小編今天給大家全面分析一下關(guān)于python編程培訓(xùn)方面的問(wèn)題,希望能給你答疑解惑。2018-01-01
Python進(jìn)程間通信multiprocess代碼實(shí)例
這篇文章主要介紹了Python進(jìn)程間通信multiprocess代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
在前女友婚禮上用python把婚禮現(xiàn)場(chǎng)的WIFI名稱改成了
大家好,我是Lex 喜歡欺負(fù)超人那個(gè)Lex 擅長(zhǎng)領(lǐng)域:python開(kāi)發(fā),網(wǎng)絡(luò)安全滲透,Windows域控Exchange架構(gòu) 今日重點(diǎn):python暴力拿下WiFi密碼;python拿下路由器管理頁(yè)面 代碼干貨滿滿,建議收藏+實(shí)操!有問(wèn)題及需要,請(qǐng)留言哦2021-08-08
Python實(shí)現(xiàn)監(jiān)控程序執(zhí)行時(shí)間并將其寫(xiě)入日志的方法
這篇文章主要介紹了Python實(shí)現(xiàn)監(jiān)控程序執(zhí)行時(shí)間并將其寫(xiě)入日志的方法,實(shí)例分析了Python日志操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
利用Python腳本實(shí)現(xiàn)ping百度和google的方法
最近在做SEO的時(shí)候,為了讓發(fā)的外鏈能夠快速的收錄,想到了利用ping的功能,google和百度都有相關(guān)的ping介紹,有興趣的朋友可以去看看相關(guān)的知識(shí)。下面這篇文章主要介紹了利用Python腳本實(shí)現(xiàn)ping百度和google的方法,需要的朋友可以參考借鑒,一起來(lái)看看吧。2017-01-01
Django-simple-captcha驗(yàn)證碼包使用方法詳解
這篇文章主要介紹了Django-simple-captcha驗(yàn)證碼包使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
利用Pycharm + Django搭建一個(gè)簡(jiǎn)單Python Web項(xiàng)目的步驟
這篇文章主要介紹了利用Pycharm + Django搭建一個(gè)簡(jiǎn)單Python Web項(xiàng)目的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

