日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

15个最受欢迎的Python开源框架(转载)

發(fā)布時間:2024/9/20 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 15个最受欢迎的Python开源框架(转载) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、Django: Python Web應用開發(fā)框架

?

    Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MVC的軟件設計模式,即模型M,視圖V和控制器C。它最初是被開發(fā)來用于管理勞倫斯出版集團旗下的一些以新聞內容為主的網(wǎng)站的,

  即是CMS(內容管理系統(tǒng))軟件。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。

? ? ? ? ? ?Django 應該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向,它最出名的是其全自動化的管理后臺:只需要使用起ORM,做簡單的對象定義,它就能自動生成數(shù)據(jù)庫結構、以及全功能的管理后臺。

? ? ? ? ? ?Django提供的方便,也意味著Django內置的ORM跟框架內的其他模塊耦合程度高。應用程序必須使用Django內置的ORM,否則就不能享受到框架內提供的種種基于其ORM的便利;理論上可以切換掉其ORM模塊,

  但這就相當于要把裝修完畢的房子拆除重新裝修,倒不如一開始就去毛胚房做全新的裝修。Django的賣點是超高的開發(fā)效率,其性能擴展有限;采用Django的項目,在流量達到一定規(guī)模后,都需要對其進行重構,才能滿足性能的要求。

?

  二、Diesel:基于Greenlet的事件I/O框架

?

    Diesel提供一個整潔的API來編寫網(wǎng)絡客戶端和服務器。支持TCP和UDP。

    你應該使用diesel來編寫你的下一個網(wǎng)絡應用。得益于Python使得diesel語法非常整潔,發(fā)展步伐非常迅速。非阻塞I/O使得diesel非常快速并且容易擴展。greenlets使得diesel有了unwind(to(callbacks(no)))。

    nose使得測試變得容易。最后,Flask使得你不需要寫一個新的網(wǎng)絡框架來使用diesel。

  示例

    

? ? ? ? ? ? ? ? ? ? ? ? ? ?需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ??
?

  三、Flask:一個用Python編寫的輕量級Web應用框架

?

    Flask是一個使用Python編寫的輕量級Web應用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授權。 Flask也被稱為“microframework”,因為它使用簡單的核心,用extension增加其他功能。

  Flask沒有默認使用的數(shù)據(jù)庫、窗體驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

 

  Flask 很有趣

?

    

    配置簡單

    

  特性

    1、內置開發(fā)用服務器和debugger

    2、集成單元測試(unit testing)

    3、RESTful request dispatching

    4、使用Jinja2模板引擎

    5、支持secure cookies(client side sessions)

    6、100% WSGI 1.0兼容

    7、Unicode based

    8、詳細的文件、教學

    9、Google App Engine兼容

    10、可用Extensions增加其他功能

?

  四、Cubes:輕量級Python OLAP框架

    Cubes是一個輕量級Python框架,包含OLAP、多維數(shù)據(jù)分析和瀏覽聚合數(shù)據(jù)(aggregated data)等工具

    Cubes的主要特性之一是它的邏輯模型,抽象物理數(shù)據(jù)并提供給終端用戶層。

    

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?

?

  五、Kartograph.py:創(chuàng)造矢量地圖的輕量級Python框架

?

    Kartograph是一個Python庫,用來為ESRI生成SVG地圖。Kartograph.py目前仍處于beta階段,你可以在virtualenv環(huán)境下來測試。
?

    


?

  六、Pulsar:Python的事件驅動并發(fā)框架

?

    Pulsar是一個事件驅動的并發(fā)框架,有了pulsar,你可以寫出在不同進程或線程中運行一個或多個活動的異步服務器。

  應用

    附帶以下功能

    1、Socket服務器

    2、WSGI服務器

    3、JSON-RPC

    4、Web Sockets

    5、任務隊列

    6、Shell

    7、測試包

    8、django集成

  示例

    對所有請求都返回“Hello World!”作為響應

?

    


? ? ? ? ? ? ? ? ? ? ? ?需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?

  七、Web2py:全棧式Web框架

?

    Web2py是一個為Python語言提供的全功能Web應用框架,旨在敏捷快速的開發(fā)Web應用,具有快速、安全以及可移植的數(shù)據(jù)庫驅動的應用,兼容Google App Engine。

  Web2py目錄結構

?

    
?

?

  八、Falcon:構建云API和網(wǎng)絡應用后端的高性能Python框架

? ? ? ?

    Falcon是一個構建云API的高性能Python框架,它鼓勵使用REST架構風格,盡可能以最少的力氣做最多的事情。

  特性

    1、通過URI模板和資源類的路由

    2、通過請求和響應類訪問headers和bodies

    3、通過異常基類響應HTTP錯誤等等

  基準測試

    

    

?

    
? ? ? ? ? ? ? ? ? ? ? ? ? ?需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?
?

  九、Dpark:Python版的Spark

?

    

    DPark是一個基于Mesos的集群計算框架(cluster computing framework),是Spark的Python實現(xiàn)版本,類似于MapReduce,但是比其更靈活,可以用Python非常方便地進行分布式計算,并且提供了更多的功能以便更好

  的進行迭代式計算。DPark的計算模型是基于兩個中心思想的:對分布式數(shù)據(jù)集的并行計算以及一些有限的可以在計算過程中、從不同機器訪問的共享變量類型。這個的目標是為了提供一種類似于global address space

   programming model的工具,例如OpenMP,但是我們要求共享變量的類型必須是那些很容易在分布式系統(tǒng)當中實現(xiàn)的,當前支持的共享變量類型有只讀的數(shù)據(jù)和支持一種數(shù)據(jù)修改方式的累加器(accumulators)。

  DPark具有的一個很重要的特性:分布式的數(shù)據(jù)集可以在多個不同的并行循環(huán)當中被重復利用。這個特性將其與其他數(shù)據(jù)流形式的框架例如Hadoop和Dryad區(qū)分開來。

  示例

    一個word counting程序

?

    

    上面的腳本可以無修改的在Mesos集群上運行,只需稍微修改一下命令行參數(shù):

    


  十、Buildbot:基于Python的持續(xù)集成測試框架

?

    Buildbot是一個開源框架,可以自動化軟件構建、測試和發(fā)布等過程。每當代碼有改變,服務器要求不同平臺上的客戶端立即進行代碼構建和測試,收集并報告不同平臺的構建和測試結果。

?

    

? ? ? ? ? ? ? ? ? ? ? ? ? ? 需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?
?

  十一、Zerorpc:基于ZeroMQ的高性能分布式RPC框架

?

    Zerorpc是一個基于ZeroMQ和MessagePack開發(fā)的遠程過程調用協(xié)議(RPC)實現(xiàn)。和?Zerorpc 一起使用的 Service API 被稱為?zeroservice。Zerorpc 可以通過編程或命令行方式調用。

    它允許你:

    1、不用修改代碼即可顯露python模塊

    2、通過命令行遠程調用這些模塊

    如何把你代碼中的對象暴露為一個zeroservice?

?

    

    運行以上代碼,在另一個終端,嘗試連接這個zeroservice

    
?

  十二、Bottle: 微型Python Web框架

?

    Bottle是一個簡單高效的遵循WSGI的微型python Web框架。說微型,是因為它只有一個文件,除Python標準庫外,它不依賴于任何第三方模塊。

  特性

    1、Routing:把請求映射到函數(shù),建立簡潔動態(tài)的URLs

    2、Templates:采用內置模板引擎,同時還支持 mako, jinja2, cheetah 等第三方模板

    3、Utilities:便捷地讀取表單數(shù)據(jù)、上傳文件、 cookies、HTTP頭信息和其它 HTTP相關的元數(shù)據(jù)

    4、Server:內置HTTP開發(fā)服務器,并且支持 paste, fapws3, bjoern, Google App Engine, Cherrypy 或者其它任何WSGI HTTP 服務器

?

  示例

    


    運行上面的代碼,訪問http://localhost:8080/hello/bottle試試。

  下載和安裝

    通過

    

    或者

    

    安裝最新穩(wěn)定版,或者下載bottle.py (不穩(wěn)定)到你的工程目錄。Bottle運行于Python 2.5+ and 3.x環(huán)境下。

? ? ? ? ? ? ? 需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?
?

  十三、Tornado:異步非阻塞IO的Python Web框架

?

    Tornado的全稱是Torado Web Server,從名字上看就可知道它可以用作Web服務器,但同時它也是一個Python Web的開發(fā)框架。最初是在FriendFeed公司的網(wǎng)站上使用,FaceBook收購了之后便開源了出來。

    作為Web框架,是一個輕量級的Web框架,類似于另一個Python web 框架Web.py,其擁有異步非阻塞IO的處理方式。

    作為Web服務器,Tornado有較為出色的抗負載能力,官方用nginx反向代理的方式部署Tornado和其它Python web應用框架進行對比,結果最大瀏覽量超過第二名近40%。

    此外,它的源代碼也是Python開發(fā)者學習與研究的絕佳材料。

    以下是Tornado的Hello World示例程序。

?

    
?

  十四、webpy: 輕量級的Python Web框架

?

    webpy的設計理念力求精簡(Keep it simple and powerful),源碼很簡短,只提供一個框架所必須的東西,不依賴大量的第三方模塊,它沒有URL路由、沒有模板也沒有數(shù)據(jù)庫的訪問。這樣的優(yōu)點是,

  框架給開發(fā)帶來的限制少,可以根據(jù)自己的需求進行定制。缺點就是,很多東西都需要自己親自動手開發(fā)。

? ? ? ? ? ? ?雖然webpy的作者Aaron H.Swartz,一位偉大的程序員在2013年1月11日自殺身亡,結束了短暫的26年生命。但是,作為一個開源項目,目前還是有很多開發(fā)者在持續(xù)更新。

    webpy非常的簡單,語法幾乎跟Python一樣,以下是一個簡單的示例:

?

    

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 需要框架項目實戰(zhàn)視頻 ?+ ?Python學習交流 ??643692991 ?
?

  十五、Scrapy:Python的爬蟲框架

?

? ? ? ? ? ? ?網(wǎng)絡爬蟲,是在網(wǎng)上進行數(shù)據(jù)抓取的程序,使用它能夠抓取特定網(wǎng)頁的HTML數(shù)據(jù)。雖然我們利用一些庫開發(fā)一個爬蟲程序,但是使用框架可以大大提高效率,縮短開發(fā)時間。Scrapy是一個使用Python編寫的,

  輕量級的,簡單輕巧,并且使用起來非常的方便。

  Scrapy使用了Twisted異步網(wǎng)絡庫來處理網(wǎng)絡通訊。整體架構大致如下(注:圖片來自互聯(lián)網(wǎng)):

?

    

    Scrapy主要包括了以下組件:

    1、引擎,用來處理整個系統(tǒng)的數(shù)據(jù)流處理,觸發(fā)事務。

    2、調度器,用來接受引擎發(fā)過來的請求,壓入隊列中,并在引擎再次請求的時候返回。

    3、下載器,用于下載網(wǎng)頁內容,并將網(wǎng)頁內容返回給蜘蛛。

    4、蜘蛛,蜘蛛是主要干活的,用它來制訂特定域名或網(wǎng)頁的解析規(guī)則。

    5、項目管道,負責處理有蜘蛛從網(wǎng)頁中抽取的項目,他的主要任務是清晰、驗證和存儲數(shù)據(jù)。當頁面被蜘蛛解析后,將被發(fā)送到項目管道,并經(jīng)過幾個特定的次序處理數(shù)據(jù)。

    6、下載器中間件,位于Scrapy引擎和下載器之間的鉤子框架,主要是處理Scrapy引擎與下載器之間的請求及響應。

    7、蜘蛛中間件,介于Scrapy引擎和蜘蛛之間的鉤子框架,主要工作是處理蜘蛛的響應輸入和請求輸出。

    8、調度中間件,介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發(fā)送到調度的請求和響應。

    使用Scrapy可以很方便的完成網(wǎng)上數(shù)據(jù)的采集工作,它為我們完成了大量的工作,而不需要自己費大力氣去開發(fā)。

來源:https://www.cnblogs.com/shaosks/p/7237809.html

總結

以上是生活随笔為你收集整理的15个最受欢迎的Python开源框架(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。