pythonbottle
from塵豎bottleimportBottle,run
app=Bottle()
@app.route('/hello')
defhello():
模扒return"HelloWorld!"
run(app,host='localhost',port=8080)
將 host='localhost'替換為你的本機IP地址派碼大試試看
㈡ 怎麼配置python得bottle庫,讓其他的電腦訪問呢
同一個局知好域網里查可以直接訪問搭源鉛的吧,綁定ip和埠的時候 用外網ip 或 0.0.0.0 區域網就能訪問了
外網的話,如果是家用寬頻比較麻煩,建議買個伺服器吧,阿里騰訊的學生機都裂謹很便宜
㈢ 如何終止一個bottle 線程 python
問題描述的不太准確,你指的是python里bottle那個web框架么?通常運行的時候,程序一開始就者做舉會提示「Hit CTRL-C to quite」,按照字面上意思,Contrl+C退出就行了。
如果你用了Gunicorn之類的WSGI HTTP伺服器來並發Bottle的話,那麼把首碧Gunicorn進程結束掉就好了。
如果是用python的multiprocessing弄出來的bottle服務進程,那麼在需要結束胡明的地方先.join()。
㈣ python bottle 怎麼獲得上傳的文件
文件上傳,需要注意的是前端html的form表單中,要添加 enctype="multipart/form-data"屬性,否則無法上傳文件。在後端,用request.files方法,獲取到表單傳上來的文件,首先把對象賦值給一個變數名,如upload,然後用save()的方法來保存到伺服器中。upload.save(save_path,overwrite=True),save_path是保存文件的路徑,overwrite=True是指如果伺服器中已有同名文件存在,則覆蓋。
文件上傳代碼:
[root@linuxyw bottle]# vim main.py
#/usr/bin/env python
#coding=utf-8
from bottle import route, run
from bottle import request
#定義上傳路徑
save_path = './upload'
#文件上傳的HTML模板,這里沒有額外去寫html模板了,直接寫在這里,方便點吧
@route('/upload')
def upload():
return '''
<html>李圓棗
<head>
</head>
<body>
<form action"/upload" method="post" enctype="multipart/form-data">
<input type="file" name="data" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
'''
#文件上傳,overwrite=True為覆蓋原有的文件,
#如果不加這參數,當伺服器已存在同名文件時,將返回「IOError: File exists.」錯誤
@route('/upload', method = 'POST')
def do_upload():
upload = request.files.get('data')
upload.save(save_path,overwrite=True) #把文件保存到save_path路徑下
return 'ok'
run(host='0.0.0.0', port=8080, debug=True)
相關的演示,可自己運行上面代碼
此外,上傳哪拆的文件對象,還有這二個屬性
filename :文件名
content_type :文件類型
如上面的代碼,上傳文件的時候,要獲取文件名,就要用upload.filename, 要獲取文件類型就用upload.content_type。這二件很實用,一般要先修改上傳的文件名後,再保存到伺服器中,content_type則可以檢測文件是什麼類型的文件,如果符合我們的上傳類型,才保存。
@route('/upload', method = 'POST')
def do_upload():
upload = request.files.get('data')
import os.path
name, ext = os.path.splitext(upload.filename) #用os.path.splitext方法把文件名和後綴相分離
upload.filename = ''.join(('123',ext)) #修改文件名
upload.save(save_path,overwrite=True) #把文件保存到save_path路徑下
return u'上腔鋒傳成功 原文件名是:%s 文件後綴名是:%s \n 修改後的文件名是:%s' %(name,ext,''.join(('123',ext)))
用瀏覽器上傳文件banner5_6.jpg後,成功顯示:
上傳成功 原文件名是:banner5_6 文件後綴名是:.jpg 修改後的文件名是:123.jpg
伺服器文件結構:
[root@linuxyw bottle]# tree
.
├── main.py
├── upload
│ ├── 11.png
│ ├── 123.jpg
│ └── 23.png
㈤ 求助,關於Bottle+python運行時錯誤的問題,詳情請進
環境python 3.3.2+bottle 0.11.6+win7 專業版
剛開始學python 和bottle ,用pip安裝了bottle,試著寫了一個小程序,有一段時間還一切OK,但最近卜纖發現第一次打開的時候很長時間沒有反應,重新刷新一次就OK了,但終端出現好多的錯誤提示。電腦沒有其它變化,bottle是用pip安裝的。
將debug=True改為False之後依然如故,請各位指點,多謝!
Python code?
1234567
from bottle import route,run @route('/')def hello(): return "Hello World!" run(host='localhost', port=8080, debug=True)
Python code?
5767778
Bottle v0.11.6 server starting up (using WSGIRefServer())...Listening on Hit Ctrl-C to quit. 127.0.0.1 - - [13/Jun/2013 20:26:45] "GET / HTTP/1.1" 200 12127.0.0.1 - - [13/Jun/2013 20:26:45] "GET / HTTP/1.1" 200 12Traceback (most recent call last): File "C:\Python33\lib\wsgiref\handlers.py", line 138, in run self.finish_response() File "C:\Python33\lib\猜悔wsgiref\handlers.py", line 180, in finish_response self.write(data) File "C:\Python33\lib\wsgiref\handlers.py", line 274, in write self.send_headers() File "C:\Python33\lib\wsgiref\handlers.py", line 332, in send_headers self.send_preamble() File "C:\Python33\lib\wsgiref\handlers.py", line 255, in send_preamble ('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1') File "C:\Python33\lib\wsgiref\handlers.py", line 453, in _write self.stdout.write(data) File "C:\Python33\lib\socket.py", line 317, in write return self._sock.send(b)ConnectionAbortedError: [WinError 10053] 您的主機中的軟體中止了一個已建立的連接。127.0.0.1 - - [13/Jun/2013 20:26:45] "GET / HTTP/1.1" 500 59----------------------------------------Exception happened ring processing of request from ('127.0.0.1', 50822)Traceback (most recent call last): File "C:\Python33\lib\wsgiref\handlers.py", line 138, in run self.finish_response() File "C:\型兆仿Python33\lib\wsgiref\handlers.py", line 180, in finish_response self.write(data) File "C:\Python33\lib\wsgiref\handlers.py", line 274, in write self.send_headers() File "C:\Python33\lib\wsgiref\handlers.py", line 332, in send_headers self.send_preamble() File "C:\Python33\lib\wsgiref\handlers.py", line 255, in send_preamble ('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1') File "C:\Python33\lib\wsgiref\handlers.py", line 453, in _write self.stdout.write(data) File "C:\Python33\lib\socket.py", line 317, in write return self._sock.send(b)ConnectionAbortedError: [WinError 10053] 您的主機中的軟體中止了一個已建立的連接。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python33\lib\wsgiref\handlers.py", line 141, in run self.handle_error() File "C:\Python33\lib\wsgiref\handlers.py", line 368, in handle_error self.finish_response() File "C:\Python33\lib\wsgiref\handlers.py", line 180, in finish_response self.write(data) File "C:\Python33\lib\wsgiref\handlers.py", line 274, in write self.send_headers() File "C:\Python33\lib\wsgiref\handlers.py", line 331, in send_headers if not self.origin_server or self.client_is_modern(): File "C:\Python33\lib\wsgiref\handlers.py", line 344, in client_is_modern return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'TypeError: 'NoneType' object is not subscriptable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python33\lib\socketserver.py", line 306, in _handle_request_noblock self.process_request(request, client_address) File "C:\Python33\lib\socketserver.py", line 332, in process_request self.finish_request(request, client_address) File "C:\Python33\lib\socketserver.py", line 345, in finish_request self.RequestHandlerClass(request, client_address, self) File "C:\Python33\lib\socketserver.py", line 666, in __init__ self.handle() File "C:\Python33\lib\wsgiref\simple_server.py", line 126, in handle handler.run(self.server.get_app()) File "C:\Python33\lib\wsgiref\handlers.py", line 144, in run self.close() File "C:\Python33\lib\wsgiref\simple_server.py", line 35, in close self.status.split(' ',1)[0], self.bytes_sentAttributeError: 'NoneType' object has no attribute 'split'----------------------------------------
奇怪今天在WinXP下試一試卻一切正常,難道是win7的問題?
㈥ pythonbottle瀏覽器刷新特別慢
pythonbottle瀏覽槐皮器刷新特別慢是網速慢。pythonbottle瀏覽器刷新特別慢是網隱信速慢。網線問題、網路設備問題、防火牆使用過鉛攜差多,都會導致網速慢。
㈦ python 怎麼安裝bottle
直接枯手接pip install bottle就配虛行培敗燃了
㈧ bottle.post()python有什麼用
Bottle是手擾一尺衡個超輕量級的python庫。陵薯做說是庫,其本身只由一個4000行左右的文件構成,並且不需要任何依賴,只靠python標准庫即可運作。用post方法實現文件的上傳和下載
㈨ 求助,關於Bottle+python運行時錯誤的問題,詳情請進
詳細講講怎麼才能觸發你得到的異常。
我這兒允許你的程序沒有任何問題慧旁。
from bottle import route,run
@route('/'前慧橡)
def hello():
return "Hello World!"
run(host='localhost', port=8080, debug=True)
如果我的回答沒碧前能幫助您,請繼續追問。
㈩ 編程語言Python有哪些好的Web框架
1、Django:PythonWeb應用開發框架Django應該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向,它最出名的是其全自動化的管理後台:只需要使用起ORM,做簡單的對象定義,它就能自動生成資料庫結構、以及全功能的管理後台。
2、Bottle:微型PythonWeb框架Bottle是一個簡單高效的遵循WSGI的微型pythonWeb框架。說微型,是因為它只有一個文件,除Python標准庫外,它不依正並賴於任何第三方模塊。
3、Flask:也是一個Web應用框架
不同於Django它是輕量級Web應用框架。基於WerkzeugWSGI工具箱和Jinja2模板引擎。Flask也被稱為「microframework」,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。但是Flask是可以擴增的,你可以使用可以用Flask-extension增加前邊沒有的一些功能。
4、Tornado:非同步非阻塞IO的PythonWeb框架Tornado的全稱是ToradoWebServer,從名字上看就可知道它可以用作Web伺服器,但同時它也是一個PythonWeb的開發框架。最初是在FriendFeed公司的網站上使用,FaceBook收購了之後便開源了出來。Tornado和現在的主流Web伺服器框架和大多數Python框架有著明顯的區別:它是非阻塞式伺服器,而且速度相當快。沖李也是比較常被使用的Python開源框架之一。
Web2py:全棧式Web框架Web2py是一個為Python語言提供的全功能舉判跡Web應用框架,旨在敏捷快速的開發Web應用,具有快速、安全以及可移植的資料庫驅動的應用,兼容GoogleAppEngine。
webpy:輕量級的PythonWeb框架webpy的設計理念力求精簡(Keepitsimpleandpowerful),源碼很簡短,只提供一個框架所必須的東西,不依賴大量的第三方模塊,它沒有URL路由、沒有模板也沒有資料庫的訪問。