您的位置:首页 > 编程语言 > Python开发

Python项目实战:个人博客(1)

2016-03-28 20:47 786 查看

首先基于asyncio和aiohttp写一个app.py.

import logging
logging.basicConfig(level = logging.INFO) #设定logging的打印等级是info等级,这样只有logging.info可以打印到终端
import asyncio,os,json,time
from datetime import datetime
from aiohttp import web
#这是一个handle函数,用来处理不同类型的url请求
def index(request):
return web.Response(body = b'<h1>Hello</h1>')#Response的用法还不明白
@asyncio.coroutine
def init(loop):
#创建一个web.app的实例, event loop used for processing HTTP requests.
#文档:If param is None asyncio.get_event_loop() used for getting default event loop, but we strongly recommend to use explicit loops everywhere.
app = web.Application(loop = loop)
app.router.add_route('GET','/',index)#将index这个函数添加到app的处理函数里面,且指定响应的类型
#make_handler() Creates HTTP protocol factory for handling requests.
srv = yield from loop.create_server(app.make_handler(),'127.0.0.1',9000)#创建一个连接服务器的socket(异步?)
logging.info('server started at http:??127.0.0.1:9000')
return srv

loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))#将协程放入事件循环之中
loop.run_forever()#一直运行直到stop()被调用,因为是服务器所以要一直运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: