
python
文章平均质量分 60
汴水流
这个作者很懒,什么都没留下…
展开
-
tornado中RequsetHandler常用子类RedirectHandler 和StaticFileHandler 的使用
RedirectHandler 重定向# 方式一urls = [(r"/test", tornado.RedirectHandler, {"url": "/"}),……]Handler这种方式适合于写到url配置当中,永久性的重定向,配置简单,但是灵活性不强# 方式二 def get(self, *args, **kwargs): self.redir...原创 2019-04-19 17:23:30 · 826 阅读 · 0 评论 -
tornado中的模板
设置模板方式一:class MainHandler(RequestHandler): async def get(self, *args, **kwargs): word = "hello bobby" loader = template.Loader("/xx/xx") self.finish(loader.load("hell...原创 2019-04-19 17:50:43 · 439 阅读 · 0 评论 -
tornado的settings有哪些可以设置
官方文档:http://www.tornadoweb.org/en/stable/web.html#tornado.web.Application.settings谷歌中文翻译后直接复制的常规设置:autoreload:如果True,任何源文件更改时服务器进程将重新启动,如调试模式和自动重新加载中所述。此选项是Tornado 3.2中的新选项;以前此功能由debug设置控制...原创 2019-04-19 18:23:55 · 1187 阅读 · 0 评论 -
同步 异步 阻塞和非阻塞
基本事实:1.cpu的速度远高于io速度2.IO包括网络访问和本地文件访问。比如requests,urllib等传统的网络库都是同步的IO3.网络IO大部分的时间都是处于等待的状态,在等待的时候,cpu是空闲的,但是又不能执行其他的操作阻塞是指调用函数时候当前线程被挂起。非阻塞是指调用函数时候当前线程不会被挂起,而是立即返回。同步和异步是逻辑层和业务层面的叫法,阻塞和非阻塞...原创 2019-06-20 17:34:51 · 276 阅读 · 0 评论 -
协程总结
协程:可以暂定并切换到其他协程运行的函数线程是由操作系统调度协程的调度是由程序员实现生成器暂停函数举例import time# 普通函数无法暂停def add(a, b): print(a+b)# 生成器是可以暂停函数的def yield_test(): yield 1 yield 2 yield 3 return "bobby...原创 2019-06-20 18:33:51 · 268 阅读 · 0 评论 -
tornado实现并发爬虫
示例代码from urllib.parse import urljoinfrom bs4 import BeautifulSoupfrom tornado import gen, httpclient, ioloop, queuesbase_url = "http://www.tornadoweb.org/en/stable/"concurrency = 3async def...转载 2019-06-20 20:39:10 · 573 阅读 · 0 评论 -
tornado中数据库ORM操作(二):通过peewee-async集成到tornado中
github地址:https://github.com/05bit/peewee-asyncInstallInstall withpipfor PostgreSQL:pip install --pre peewee-async; pip install aiopgor for MySQL:pip install --pre peewee-async; pip inst...原创 2019-06-20 22:09:49 · 959 阅读 · 0 评论 -
闭包和装饰器总结
闭包和装饰器闭包部分参考文档:https://www.cnblogs.com/bailo/p/9096937.html闭包函数:定义:内层函数对外层函数非全局变量的引用,就叫做闭包函数。 闭包会一直存在内存当中,不会因为函数执行结束而被释放。# 闭包函数def wrapper(): name = 'alex' def inner(): ...原创 2019-06-21 12:47:25 · 236 阅读 · 0 评论 -
tornado中RequsetHandler的使用
应用示意,RequsetHandler中可能常会用到的一些地方import jsonfrom tornado.web import RequestHandlerclass MainHandler(RequestHandler): # 入口 def initialize(self, demo): # 用于初始化handler类的过程 ...原创 2019-04-19 16:52:14 · 435 阅读 · 0 评论 -
tornado中options的使用
from tornado.options import define, options, parse_command_line# define,定义一些可以在命令行中传递的参数以及;类型define('port', default=8888, help="run on the given port", type=int)define('debug', default=True, help...原创 2019-04-19 16:01:52 · 549 阅读 · 0 评论 -
python---gil锁的总结
解决多线程之间数据完整性和状态同步的最简单方法自然就是加锁。GIL的全名,Global Interpreter Lock。解释:这个锁就是用来为了解决Cpython多线程中线程不安全问题引入的一个全局排它锁,它的作用就是在多线程情况下,保护共享资源,为了不让多个线程同时操作共享资源,导致不可预期的结果而加上的锁,在一个线程操作共享资源时,其他线程请求该资源,只能等待GIL解锁。这个设置在C...原创 2018-11-23 12:19:16 · 215 阅读 · 0 评论 -
python--多线程编程 threading(一)
先假设一应用场景:爬虫爬取淘宝店铺的店铺列表页,获取到所有的店铺地址,根据每一个店铺地址,进去各店铺获取数据。该场景便非常适合使用多线程。因为爬取店铺列表页和爬取详情页,其实互不影响,只要处理好线程间通信即可。上示意代码:#-*-coding:utf-8-*-import threadingimport timedef get_detail_html(url): p...原创 2018-11-23 12:54:24 · 261 阅读 · 0 评论 -
python--多线程编程 threading(二)
python--多线程编程 threading(一)通过继承Thread来实现多线程#-*-coding:utf-8-*-import threadingimport timeclass GetDetailHtml(threading.Thread): def __init__(self,name): super().__init__(name=name)...原创 2018-11-23 13:06:52 · 161 阅读 · 0 评论 -
tornado中数据库ORM操作(一):peewee的使用
github地址:https://github.com/coleifer/peewee文档:http://docs.peewee-orm.com/依赖于pymysql 要把pymysql也安装了pip install pymysqlpip install peewee采用peewee作为ORM的原因1:django orm,sqlalchemy,peewee三个用的最...原创 2019-04-20 22:50:37 · 1816 阅读 · 0 评论 -
tornado中的url配置
1:如何实现url中带数字(字符串)类型的匹配?class PeopleIdHandler(web.RequestHandler): async def get(self, id, *args, **kwargs): self.write("用户ID:{}".format(id))class PeopleNameHandler(web.RequestHandle...原创 2019-04-19 12:34:30 · 2495 阅读 · 0 评论 -
tornado--初学者常见问题总结
1:tornado如何实现在代码修改后,不需要重启,直接应用修改后的提交?设置dubug=True即可def make_app(): return tornado.web.Application([ (r"/", XXXHandler) ], debug=True)2:tornado重启后,显示端口号被占用(提示,通常每个套接字地址只允许使用...原创 2019-04-19 17:51:50 · 1046 阅读 · 0 评论 -
AssertionError: Error, sync query is not allowed! Call the `.set_allow_sync()` or use the `.allow_sy
错误信息展示:ERROR:tornado.application:Uncaught exception GET /groups/ (127.0.0.1)…… File "H:\project\sgjlb_tornado\apps\group\handler.py", line 130, in get group_dict = model_to_dict(group)…… ...原创 2019-07-01 12:36:50 · 1155 阅读 · 0 评论