導航:首頁 > 版本升級 > webpy上傳文件

webpy上傳文件

發布時間:2024-08-18 22:35:47

㈠ python web開發 用什麼工具

python web開發常用的工具:

1. Django

Django無疑是最通用的web開發框架之一,適用博客做一個後端和為企業做一個內容管理系統

優點:從幾乎為零的狀態建設出一個全功能的web應用程序


備註:Python面向對象的設計非常干凈,而且配備了令人難以置信的支持庫。Python可以很容易地與其他流行的編程語言如Java,C和C ++集成。

㈡ webpy + nginx with fastcgi方案怎麼樣

起初我很是奇怪,按理說只有當靜態文件不存在時nginx才會返回404錯誤,而現在訪問的是配置在nginx.conf中的一個動態路徑,該動態路徑請求通過fastcgi最終會映射到某個python class的GET或POST方法中,那為什麼nginx會返回404呢?
查閱相關文檔之後發現
fastcgi在遇到webpy或其他後端http模塊處理極慢的情況下,也就是說超過nginx允許的應答時間,nginx就會對此動態路徑請求做出404的應答
針對此情況,我開始著手准備一系列測試和實驗
實驗
實驗一:剝離fastcgi,單獨使用webpy,進行壓力測試
這個實驗很簡單,只需要注釋掉一行代碼,便可以以純webpy方式訪問,基於webpy的python應用main入口一般都是這樣:
?
1
2
3
4

if __name__ == "__main__":
web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func,addr)
app.add_processor(web.loadhook(session_hook))
app.run()

只需要注釋掉第二行即可,之後在終端下運行python <filename>.py,webpy會默認監聽本地的8080埠,之後無論是通過瀏覽器還是其他方式訪問相應地址即可
同時,還需要准備一份發起http請求的代碼,python用來干這活最簡單不過了
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

import httplib

server = "192.168.2.2:8080"
url = "/user/[email protected]&password=111&rnd=33"

class perftest:
def __init__(self):
pass

def run(self):
conn = httplib.HTTPConnection(server)
for i in range(100):
try:
conn.request("GET", url)
rsp = conn.getresponse()

if 200 == rsp.status:
print "headers", rsp.getheaders()
content = rsp.read()
print "content", content
except Exception, ex:
print "ERR:", ex
conn.close()

跑了幾次壓力之後,webpy扛不住了…開始大面積拋異常,大致意思是python自帶的logging模塊出錯,因為有頻繁的文件打開關閉操作,某個操作導致文件句柄被非法訪問…
在查看相關的log封裝類之後發現,python的日誌模塊設計實在是有點不夠內聚,也可以說不夠徹底吧,不由得想起了之前用過的log4net,真是簡潔啊
出錯的原因在項目中開發同事封裝的log模塊多次執行了addHandler和removeHandler操作,據說在之前的開發過程中還出現過一行日誌列印多遍的情況,而且隨著程序的運行,相同的日誌會越來越多…
順手將該封裝修改為單例類之後,故障解除
處理完之後接著跑壓力,webpy還是會偶爾列印異常信息,不過已經變成了session訪問異常,還好的是出現面積很小,於是開始增加壓力測試的並發量,結果表明穩定度還是可以的,性能也在可以接受的范圍之內
實驗二:保持最終部署環境不變(nginx+fastcgi+webpy),繼續壓力測試
在上次測試解決完日誌的問題之後,我開始以真實環境做相關的測試,要注意的是使用nginx之後,需要訪問nginx.conf中配置綁定的相關埠,不再是webpy默認的8080埠
繼續做上述的壓力測試,性能也在可以接受的范圍之內
實驗三:模擬用戶環境
根據測試MM所描述的,瀏覽器在B子系統出錯過程中扮演了很關鍵的角色,於是我分別使用幾個瀏覽器和純粹的python代碼分別訪問相同的地址
幾種組合的測試發現:
瀏覽器在只訪問B子系統的情況下,一直表現正常
一旦瀏覽器訪問過A子系統之後,再次訪問B子系統即出現測試MM描述的404現象
python代碼一直訪問正常

㈢ Python 有哪些好的 Web 框架

常見的5種Web框架:

第一個:Django

Django是一個開源的Web應用框架,由Python寫成,支持許多資料庫引擎,可以讓Web開發變得迅速和可擴展,並會不斷的版本更新以匹配Python最新版本,如果是新手程序員,可以從這個框架入手。

第二個:Flask

Flask是一個輕量級的Web應用框架,使用Python編寫。基於WerkzeugWSGI工具箱和JinJa2模板引擎,使用BSD授權。

Flask也被稱為microframework,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。然而Flask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

第三個:Web2py

Web2py是一個用Python語言編寫的免費的開源Web框架,旨在敏捷快速的開發Web應用,具有快速、可擴展、安全以及可移植的資料庫驅動的應用,遵循LGPLv3開源協議。

Web2py提供一站式的解決方案,整個開發過程都可以在瀏覽器上進行,提供了Web版的在線開發,HTML模板編寫,靜態文件的上傳,資料庫的編寫的功能。其他的還有日誌功能,以及一個自動化的admin介面。

第四個:Tornado

Tornado即是一個Webserver,同時又是一個類web.py的micro-framework,作為框架的Tornado的思想主要來源於web.PY,大家在web.PY的網站首頁也可以看到Tornado的大佬Bret
Taylor的這么一段話:「[web.py inspired the] Web framework we use at FriendFeed [and] thewebapp framework that ships with App Engine…」,因為這層關系,後面不再單獨討論Tornado。

第五個:CherryPy

CherryPy是一個用於Python的、簡單而非常有用的Web框架,其主要作用是以盡可能少的操作將Web伺服器與Python代碼連接,其功能包括內置的分析功能、靈活的插件系統以及一次運行多個HTTP伺服器的功能,可運行在最新版本的Python、Jython、android上。

㈣ python web.py has no attribute 'application'

這是模塊名沖突導致的。

你自己的文件不要命名為web.py,可以改名為myapp.py,然後再試一下。

㈤ 盤點Python常用的模塊和包

模塊

1.定義

計算機在開發過程中,代碼越寫越多,也就越難以維護,所以為了編寫可維護的代碼,我們會把函數進行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊。

2.優點:

提高代碼的可維護性。

提高代碼的復用,當模塊完成時就可以在其他代碼中調用。

引用其他模塊,包含python內置模塊和其他第三方模塊。

避免函數名和變數名等名稱沖突。

python內建模塊:

1.sys模塊

2.random模塊

3.os模塊:

os.path:講解

https://www.cnblogs.com/yufeihlf/p/6179547.html

數據可視化

1.matplotlib :

是Python可視化程序庫的泰斗,它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。

訪問:

https://matplotlib.org/

顏色:

https://www.cnblogs.com/darkknightzh/p/6117528.html

教程

https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html

2.Seaborn:

它是構建在matplotlib的基礎上的,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。

訪問:

http://seaborn.pydata.org/index.html

3.ggplot:

gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖

訪問:

http://ggplot.yhathq.com/

4.Mayavi:

Mayavi2完全用Python編寫,因此它不但是一個方便實用的可視化軟體,而且可以方便地用Python編寫擴展,嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API:mlab快速繪制三維圖

訪問:http://code.enthought.com/pages/mayavi-project.html

講解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8

5.TVTK:

TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支持Trait屬性和numpy的多維數組。

VTK (http://www.vtk.org/) 是一套三維的數據可視化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示數據

講解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html

機器學習

1.Scikit-learn

是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重復使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。

訪問:

講解:https://blog.csdn.net/finafily0526/article/details/79318401

2.Tensorflow

最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。

相關推薦:《Python視頻教程》

Web框架

1.Tornado

訪問:http://www.tornadoweb.org/en/stable/

2.Flask

訪問:http://flask.pocoo.org/

3.Web.py

訪問:http://webpy.org/

4.django

https://www.djangoproject.com/

5.cherrypy

http://cherrypy.org/

6.jinjs

http://docs.jinkan.org/docs/jinja2/

GUI 圖形界面

1.Tkinter

https://wiki.python.org/moin/TkInter/

2.wxPython

https://www.wxpython.org/

3.PyGTK

http://www.pygtk.org/

4.PyQt

https://sourceforge.net/projects/pyqt/

5.PySide

http://wiki.qt.io/Category:LanguageBindings::PySide

科學計算

教程

https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#

1.numpy

訪問

http://www.numpy.org/

講解

https://blog.csdn.net/lm_is_dc/article/details/81098805

2.sympy

sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題

訪問

https://docs.sympy.org/0.7.1/guide.html#guide

講解

https://www.jianshu.com/p/339c91ae9f41

解方程

https://www.cnblogs.com/zyg123/p/10549354.html

3.SciPy

官網

https://www.scipy.org/

講解

https://blog.csdn.net/wsp_1138886114/article/details/80444621

4.pandas

官網

http://pandas.pydata.org/

講解

https://www.cnblogs.com/linux-wangkun/p/5903945.html

5.blaze

官網

http://blaze.readthedocs.io/en/latest/index.html

密碼

1.cryptography

https://pypi.python.org/pypi/cryptography/

2.hashids

http://www.oschina.net/p/hashids

3.Paramiko

http://www.paramiko.org/

4.Passlib

https://pythonhosted.org/passlib/

5.PyCrypto

https://pypi.python.org/pypi/pycrypto

6.PyNacl

http://pynacl.readthedocs.io/en/latest/

爬蟲相關

requests

http://www.python-requests.org/

scrapy

https://scrapy.org/

pyspider

https://github.com/binux/pyspider

portia

https://github.com/scrapinghub/portia

html2text

https://github.com/Alir3z4/html2text

BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/

lxml

http://lxml.de/

selenium

http://docs.seleniumhq.org/

mechanize

https://pypi.python.org/pypi/mechanize

PyQuery

https://pypi.python.org/pypi/pyquery/

creepy

https://pypi.python.org/pypi/creepy

gevent

一個高並發的網路性能庫

http://www.gevent.org/

圖像處理

bigmoyan

http://scikit-image.org/

Python Imaging Library(PIL)

http://www.pythonware.com/procts/pil/

pillow:

http://pillow.readthedocs.io/en/latest/

自然語言處理

1.nltk:

http://www.nltk.org/

教程

https://blog.csdn.net/wizardforcel/article/details/79274443

2.snownlp

https://github.com/isnowfy/snownlp

3.Pattern

https://github.com/clips/pattern

4.TextBlob

http://textblob.readthedocs.io/en/dev/

5.Polyglot

https://pypi.python.org/pypi/polyglot

6.jieba:

https://github.com/fxsjy/jieba

資料庫驅動

mysql-python

https://sourceforge.net/projects/mysql-python/

PyMySQL

https://github.com/PyMySQL/PyMySQL

PyMongo

https://docs.mongodb.com/ecosystem/drivers/python/

pymongo

MongoDB庫

訪問:https://pypi.python.org/pypi/pymongo/

redis

Redis庫

訪問:https://pypi.python.org/pypi/redis/

cxOracle

Oracle庫

訪問:https://pypi.python.org/pypi/cx_Oracle

SQLAlchemy

SQL工具包及對象關系映射(ORM)工具

訪問:http://www.sqlalchemy.org/

peewee,

SQL工具包及對象關系映射(ORM)工具

訪問:https://pypi.python.org/pypi/peewee

torndb

Tornado原裝DB

訪問:https://github.com/bdarnell/torndb

Web

pycurl

URL處理工具

smtplib模塊

發送電子郵件

其他庫暫未分類

1.PyInstaller:

是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環境中運行,也可以作為一個 獨立文件方便傳遞和管理。

2.Ipython

一種互動式計算和開發環境

講解

https://www.cnblogs.com/zzhzhao/p/5295476.html

命令

ls、cd 、run、edit、clear、exist

㈥ 如何用python和web.py搭建一個網站

1. 環境搭建。
環境搭建比較繁瑣,記得當時也是滿世界找資料,所以我直接打包好了所有的文件(apache(已經放進去python-wscgi) + web.py+apache所需要的vs2010運行庫+python+網站文件),直接解壓放上去就能用。有需要同學讓我傳一個或者網盤發一把就行。
如果在windows,最好在win7以上版本,我用win8。linux則ubuntu較好,建議12.04以上版本,不過linux我僅僅是開發用過,最終運行的伺服器是採用windows+apache:
安裝python2.7.10,可以去官方網站下載,注意要把python路徑加入系統環境變數。版本不能低於2.7.9,但不能用3.0以上,web.py支持不好。
安裝web.py, 官方網下載來裝就行,記得是解壓後進去:python setup.py install
安裝wingIDE,這個是最好用的python編輯器,可惜只能有幾天試用,我就是不停的試用進行開發,用它的好處就是代碼可以跳轉並且支持調試,需要調試直接將程序文件run起來,單步下段點都可以。
裝apache並配置python-wscgi,這個比較慘,花了好多時間去搜索才搞定,主要是windows上的python-wscgi不好難找。
為了節省以後的開發時間,我把配置好的apache給打包了,反正也是綠色的,新建網站只需要在伺服器上配置開機啟動apache,並在apache的config裡面修改下自己網站路徑就行。
2. 開發。
開發階段倒是沒什麼好說的,web.py官方有教程,不過這里我需要提幾點建議:
如果可以務必全站用utf-8編碼。
建立資料庫建議寫個生成腳本,比如createDataBase.py,有改動重新運行一遍,不要試用ide去建。

閱讀全文

與webpy上傳文件相關的資料

熱點內容
建設銀行app怎麼申請 瀏覽:163
系統備份文件夾在哪 瀏覽:998
qq分組exo韓文 瀏覽:849
華碩裝裝win7系統教程視頻 瀏覽:407
什麼是數據直連 瀏覽:210
筆記本連接無線網路慢 瀏覽:486
壓縮文件怎麼控制在4m以內 瀏覽:1
indesign最新版本2016 瀏覽:300
為什麼壓縮文件窗口變小 瀏覽:904
居民醫保工行手機app怎麼繳費 瀏覽:602
圖論與網路流理論答案 瀏覽:913
安裝win10後需要輸入WiFi密碼嗎 瀏覽:412
c語言加法的編程格式是什麼樣的 瀏覽:195
用戶大數據怎麼計算 瀏覽:717
手機app軟體怎麼開發 瀏覽:785
記得app 瀏覽:854
網路教課優點是什麼 瀏覽:846
設置驗證被拉入微信群 瀏覽:966
bubblegum教程 瀏覽:474
win7如何修改用戶密碼 瀏覽:169

友情鏈接