亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Tornado Web Server框架編寫簡(jiǎn)易Python服務(wù)器

 更新時(shí)間:2018年07月28日 14:49:08   作者:acdreamers  
這篇文章主要為大家詳細(xì)介紹了Tornado Web Server框架編寫簡(jiǎn)易Python服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

我們都知道在Web開發(fā)中,都需要服務(wù)器,比如Java Web開發(fā)的Tomcat,WebLogic,WebSphere,現(xiàn)在來看利用Tornado Web Server框架如何寫一個(gè)簡(jiǎn)易的Python服務(wù)器。

一般來說只需要實(shí)現(xiàn)get和post方法就可以了。以上次使用redis數(shù)據(jù)庫的例子說明,數(shù)據(jù)庫插入代碼如下:

import redis
import datetime
 
class Database:
  def __init__(self):
    self.host = 'localhost'
    self.port = 6379
    self.write_pool = {}
 
  def add_write(self,website,city,year,month,day,deal_number):
    key = '_'.join([website,city,str(year),str(month),str(day)])
    val = deal_number
    self.write_pool[key] = val
 
  def batch_write(self):
    try:
      r = redis.StrictRedis(host=self.host,port=self.port)
      r.mset(self.write_pool)
    except Exception, exception:
      print exception
      
 
def add_data():
  beg = datetime.datetime.now()
  db = Database()
  for i in range(1,10000):
    db.add_write('meituan','beijing',2013,i,1,i)
  db.batch_write()
  end = datetime.datetime.now()
  print end-beg
      
if __name__ == '__main__':
  add_data()

以上代碼插入了數(shù)據(jù),那么現(xiàn)在用我們的服務(wù)器來訪問一些數(shù)據(jù)。

import json
import redis
import tornado.web
import tornado.httpserver
from tornado.options import define, options
 
define("port", default=8888, type=int)
 
class DealHandler(tornado.web.RequestHandler):
  def initialize(self):
    self.port = 6379
    self.host = "localhost"
 
  def get(self):
    website = self.get_argument("website",None)
    city  = self.get_argument("city",None)
    year  = self.get_argument("year",None)
    month  = self.get_argument("month",None)
 
    keyset = []
    for i in range(1,31):
      key = '_'.join([website,city,year,month,str(i)])
      keyset.append(key)
 
    r = redis.StrictRedis(host=self.host,port=self.port)
    self.write( json.dumps(r.mget(keyset)) )
 
class ExampleHandler(tornado.web.RequestHandler):
  def get(self):
    who = self.get_argument("who", None)
    if who:
      self.write("Hello, " + who)
    else:
      self.write("Hello World!")
    
  def post(self):
    who = self.get_argument("who", None)
    if who:
      self.write("Hello, " + who)
    else:
      self.write("Hello World!")
 
class Application(tornado.web.Application):
  def __init__(self):
    handlers = [
      (r"/", ExampleHandler),
      (r"/deal", DealHandler),
    ]
    settings = dict()
    tornado.web.Application.__init__(self, handlers, settings)
 
def create_server():
  tornado.options.parse_command_line()
  http_server = tornado.httpserver.HTTPServer(Application())
  http_server.listen(options.port)
  tornado.ioloop.IOLoop.instance().start()
 
if __name__ == "__main__":
  create_server()

以上代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的服務(wù)器,用于處理http請(qǐng)求。

在瀏覽器中輸入:

http://localhost:8888/deal?website=meituan&city=beijing&year=2013&month=9

即可得到需要的數(shù)據(jù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題

    解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題

    今天小編就為大家分享一篇解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python如何使用split多字符分割字符串的方法

    python如何使用split多字符分割字符串的方法

    這篇文章主要給大家介紹了關(guān)于python如何使用split多字符分割字符串的相關(guān)資料,split()方法是一個(gè)非常強(qiáng)大的工具,可以幫助我們輕松地分割字符串,需要的朋友可以參考下
    2023-10-10
  • python之glob的用法詳解

    python之glob的用法詳解

    glob?是?Python?中用于文件模式匹配的一個(gè)模塊,本文主要介紹了python之glob的用法詳解,具有一定的參考價(jià)值,感興趣的可以來了解一下
    2023-12-12
  • Python中input和raw_input的一點(diǎn)區(qū)別

    Python中input和raw_input的一點(diǎn)區(qū)別

    這篇文章主要介紹了Python中input和raw_input的一點(diǎn)區(qū)別,它們都是用來讀取控制臺(tái)輸入的函數(shù),需要的朋友可以參考下
    2014-10-10
  • 將Python腳本打包成exe文件

    將Python腳本打包成exe文件

    大家好,本篇文章主要講的是將Python腳本打包成exe文件,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • Python中Django框架利用url來控制登錄的方法

    Python中Django框架利用url來控制登錄的方法

    這篇文章主要介紹了Python中Django框架利用url來控制登錄的方法,實(shí)例分析了Django框架實(shí)現(xiàn)URL登陸的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • python爬蟲看看虎牙女主播中誰最“頂”步驟詳解

    python爬蟲看看虎牙女主播中誰最“頂”步驟詳解

    這篇文章主要介紹了python爬蟲看看虎牙女主播中誰最“頂”,本文分步驟通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • django model去掉unique_together報(bào)錯(cuò)的解決方案

    django model去掉unique_together報(bào)錯(cuò)的解決方案

    本文給大家分享的是在使用django model去掉unique_together時(shí)報(bào)錯(cuò)的解決思路和具體步驟,提供給大家參考下,希望對(duì)大家學(xué)習(xí)使用django能夠有所幫助
    2016-10-10
  • Python 實(shí)現(xiàn)敏感目錄掃描的示例代碼

    Python 實(shí)現(xiàn)敏感目錄掃描的示例代碼

    這篇文章主要介紹了Python 實(shí)現(xiàn)敏感目錄掃描的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python深度學(xué)習(xí)線性代數(shù)示例詳解

    Python深度學(xué)習(xí)線性代數(shù)示例詳解

    這篇文章主要為大家講解了Python深度學(xué)習(xí)中線性代數(shù)的示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10

最新評(píng)論