深度剖析Python Web 應(yīng)用程序
我們將通過 Python Web 應(yīng)用程序公開此功能。首先,您需要選擇要使用的 Python Web 應(yīng)用程序平臺,這可能要比實(shí)際編寫應(yīng)用程序困難!由于它們非常易于用 Python 編寫,因此有大量平臺可供使用。
或者,如果您對 Ruby on Rails 很感興趣,則可能要考慮 TurboGears 或 Django - Python 自身的從上自下的應(yīng)用程序構(gòu)建器。TurboGears 也支持在應(yīng)用程序中方便地包含 AJAX?,F(xiàn)在,我們將選擇一個非常簡單的框架 CherryPy。請?jiān)诖颂幭螺d它。
首先,對 compareInitOra.py 稍加修改(如下所示),創(chuàng)建一個 html() 函數(shù),從而返回包含所需文本和標(biāo)記的字符串。然后,只需要編寫七行多代碼即可將該函數(shù)公開為 Web 應(yīng)用程序。
- import readInitOra, cx_Oracledef readLiveParams(instance):
- liveParams = {}orcl = cx_Oracle.connect('scott/tiger@' + instance)curs = orcl.cursor()curs.execute('SELECT name,
- value FROM V$PARAMETER')row = curs.fetchone()while row:(param, val) = (row[0],
- row[1])liveParams[param.upper()] = valrow = curs.
- fetchone()return liveParamsfileName = 'init_orcl.ora'def html(initOraFile, instance):
- result = ""fileParams = readInitOra.read(initOraFile)liveParams = readLiveParams(instance)for (param, val)
- in fileParams.items():liveVal = liveParams.get(param)if
- liveVal == val:result += "<font color='green'>%s</font><br>\n" %
- (val)elseresult += "<font color='red'>%s (file) %s (live)</font></br>\n" %
- (val, liveVal)return resultimport cherrypyclass WebApp:def index(self,
- initOraFile='init.ora', instance='orcl'):return html(initOraFile, instance
- )index.exposed = Truecherrypy.root = WebApp()cherrypy.server.start()
運(yùn)行該腳本時,它開始以Python Web 應(yīng)用程序服務(wù)器的形式(默認(rèn)情況下)在端口 8080 上工作。結(jié)論衷心希望 Python 的易用性、簡潔行和可讀行能夠引起您的興趣。您對 Python 的強(qiáng)大功能還不了解。
它的功能包括簡潔的異常處理、單元測試、面向?qū)ο?、?shí)用編程、GUI 工具包、Web 框架、XML、Web 服務(wù) -編程人員幾乎可以執(zhí)行任何操作。隨著工作變得更高級,您不必“過渡”到其他語言。
這樣可以方便地根據(jù)需求的變化改寫腳本代碼,而不是必須重新編譯鏈接二進(jìn)制的動態(tài)鏈接庫。Python強(qiáng)大的功能足以勝任,但是有一些操作系統(tǒng)特定的功能需要用C++來實(shí)現(xiàn),再由Python調(diào)用。所以,最基礎(chǔ)地,我們需要做到:
1. 把Python嵌入到C++應(yīng)用程序中,在C++程序中調(diào)用Python函數(shù)和獲得變量的值;
2. 用C++為Python編寫擴(kuò)展模塊(動態(tài)鏈接庫),在Python程序中調(diào)用C++開發(fā)的擴(kuò)展功能函數(shù)。
Python Web 應(yīng)用程序具有腳本語言中最豐富和強(qiáng)大的類庫,足以支持絕大多數(shù)日常應(yīng)用。它的名字來源于一個喜劇,也許最初設(shè)計(jì)Python這種語言的人并沒有想到今天Python會在工業(yè)和科研上獲得如此廣泛的使用。
著名的自由軟件作者Eric Raymond在他的文章《如何成為一名黑客》中,將Python列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語言之一,并建議人們從Python開始學(xué)習(xí)編程。
這的確是一個中肯的建議,對于那些從來沒有學(xué)習(xí)過編程或者并非計(jì)算機(jī)專業(yè)的編程學(xué)習(xí)者而言,Python是最好的選擇之一。
【編輯推薦】