随笔分类 -  Python

Tornado使用-队列Queue
摘要:1.tornado队列的特点 和python标准队列queue相比,tornado的队列Queue支持异步 2.Queue常用方法 Queue.get() 会暂停,直到queue中有元素 Queue.put() 对有最大长度限制的队列,会暂停,直到队列有空闲空间 Queue.task_done() 阅读全文

posted @ 2017-12-28 09:41 迪米特 阅读(997) 评论(0) 推荐(0)

python装饰器
摘要:1.函数作用域 1)访问变量时,会首先寻找本作用域是否存在该变量,若没有,则依次寻找外部作用域。 运行结果:38638064 38638064 2)若在本作用域内,赋值一个变量,则该变量是一个全新的局部变量,与外部作用域变量毫无关系 运行结果: 38141744 38900208 同理,以下示例会报 阅读全文

posted @ 2017-12-21 20:59 迪米特 阅读(155) 评论(0) 推荐(0)

Tornado使用-简介
摘要:1.什么是Tornado Tornado是一个python web框架,和一个异步网络通信库。 因为它的非阻塞网络IO,可同时支撑万级别的连接请求。 适用于长轮询,全双工websocket通信。 2.主要模块 1)web框架:RequestHandler 2)web服务器:客户端,服务端(HTTPS 阅读全文

posted @ 2017-12-15 16:58 迪米特 阅读(674) 评论(0) 推荐(0)

tornado源码分析-iostream
摘要:tornado源码分析 iostream 1.iostream.py作用 用来异步读写文件,socket通信 2.使用示例 与传统socket通信的区别是,iostream对socket进行了包装,可以进行异步的读写。 3.iostream主要功能 read_until:读到delimiter结束 阅读全文

posted @ 2017-11-29 21:50 迪米特 阅读(359) 评论(0) 推荐(0)

tornado源码分析-多进程
摘要:1.源码文件 process.py 2.fork子进程 num_processes:指定子进程的数量,不指定为CPU处理器的数目 max_restarts:启动失败,重启次数 start_child:fork子进程,将子进程id放入children集合 while children:等待所有子进程完 阅读全文

posted @ 2017-11-27 14:18 迪米特 阅读(284) 评论(0) 推荐(0)

python管道pipe
摘要:1.什么是管道 Linux进程间通信方式的一种,管道有两端,读端和写端。创建管道,然后从父进程fork出子进程, 父进程和子进程拥有共同的读写文件描述符,可以实现子进程写文件,父进程读文件的操作。 示意图如下: 2.具体操作 子进程关闭读端,父进程关闭写端,子进程负责写,父进程负责读。 代码示例如下 阅读全文

posted @ 2017-11-26 17:31 迪米特 阅读(12586) 评论(0) 推荐(2)

psycopg事务
摘要:1.事务的特性 原子性,要么完成,要么都不完成 2.psycopg的事务特点 在psycopg中,事务是由 处理的,当第一次一个命令发送给数据库时(开启数据库操作游标), 一个事务就建立了。接下来的sql命令都会在这个事务中执行,不仅仅是这个游标的sql操作命令,其他的只要是同一个连接 开启的游标, 阅读全文

posted @ 2017-11-16 13:42 迪米特 阅读(1370) 评论(0) 推荐(0)

psycopg使用
摘要:1.使用示例 2.向sql语句传递参数 1)第一个参数sql语句,使用%s作占位符;第二个参数为元组或数组,待传递参数。 2)第一个参数sql语句,使用%(name)s作占位符;第二个参数为dict,待传递参数。 3)sql注入 3.python数据类型适应psycopg数据类型 阅读全文

posted @ 2017-11-15 19:09 迪米特 阅读(597) 评论(0) 推荐(0)

python细节问题
摘要:1.list添加元素 运行结果: 添加元素有四种方式,其中,只有+操作会改变列表的id 阅读全文

posted @ 2017-11-09 15:52 迪米特 阅读(173) 评论(0) 推荐(0)

python import详解
摘要:1.import作用 引入模块 2.import的特点 一个程序中,import的模块不会重复被引用,如: 运行结果: 结果分析: 当执行test.py时,执行import test1语句 1)判断test1是否在sys.modules中,不在,则创建一个新的module对象test1,放到sys. 阅读全文

posted @ 2017-11-08 13:10 迪米特 阅读(3771) 评论(0) 推荐(0)

tornado设置settings
摘要:1.作用 设置应用程序相关参数 2.用法 3.相关参数详解 1)debug 设置应用程序为debug模式,debug模式下,修改了.py文件后,application会自动重启。 或者在.py文件中引入自动启动包 import tornado.autoreload 在部署正式时,需将debug=Fa 阅读全文

posted @ 2017-10-20 13:49 迪米特 阅读(1055) 评论(0) 推荐(0)

tornado源码分析-模块介绍
摘要:1.Core web framework tornado.web web框架功能模块,包括RequestHandler和Application两个重要的类 tornado.httpserver 实现了一个无阻塞HTTP服务器 tornado.template html模板系统(tornado后端和前 阅读全文

posted @ 2017-10-20 11:02 迪米特 阅读(242) 评论(0) 推荐(0)

tornado日志使用详解
摘要:1.需求 将http访问记录,程序自定义日志输出到文件,按天分割,保留最近30天的日志。 2.使用示例 运行后日志文件内容: tornado中会将logging的输出级别设置为info 3.http访问日志 tornado中http访问的日志是由access_log处理器完成的,access_log 阅读全文

posted @ 2017-10-15 13:15 迪米特 阅读(12060) 评论(4) 推荐(1)

RabbitMQ使用详解
摘要:1.RabbitMQ是什么? 消息队列,应用程序写和读消息队列来实现通信。 2.使用示例 1)生产者send.py发送消息到队列 2)消费者receive.py从队列获取消息 运行结果: 3.RabbitMQ基本概念 1)收发消息过程 Broker:消息队列服务器实体 消息:就是一个简单的字符串,每 阅读全文

posted @ 2017-10-03 09:21 迪米特 阅读(463) 评论(0) 推荐(0)

python生成器
摘要:1.数组 缺点是所有数据都在内存中,如果有海量数据的话将会非常耗内存。 2.生成器 生成器和数组一样也是可以迭代的,但是用的时候才生成,只可以读取它一次 注意,生成器使用了() 3.生成器的执行 运行结果: 0 1 4 生成器通过next()函数进行迭代 4.yield关键字 包含yield关键字的 阅读全文

posted @ 2017-09-24 18:39 迪米特 阅读(157) 评论(0) 推荐(0)

python脚本
摘要:python定时任务 1.time.sleep(n) 循环执行,使用sleep阻塞n秒,缺点是sleep是个阻塞函数,会阻塞进程。 运行结果: 2.Timer(n, func) 使用threading的Timer实现定时任务,Timer是非阻塞的。 运行结果: 3.sched调度器 shced模块是 阅读全文

posted @ 2017-09-22 11:15 迪米特 阅读(212) 评论(0) 推荐(0)

python引用,浅拷贝,深拷贝
摘要:1.引用 传递的是引用,原始列表改变,被赋值列表会同样改变,因为他们指向的是同一个地址。 运行结果: 2.浅拷贝 copy浅拷贝,没有拷贝子对象,子对象改变时,会造成赋值的子对象也改变。 运行结果: 3.深拷贝 copy深拷贝,会拷贝子对象,原始子对象改变时,不会造成深拷贝的任何子元素改变。 运行结 阅读全文

posted @ 2017-09-18 20:38 迪米特 阅读(160) 评论(0) 推荐(0)

sqlalchemy使用
摘要:1.SQLAlchemy的作用 ORM对象关系映射技术 2.SQLAlchemy安装 pip install SQLAlchemy 查看SQLAlchemy版本 3.生成数据库连接 DB_CONNECT_STRING:数据库连接字符串 engine:创建数据库引擎 DB_Session:数据库会话工 阅读全文

posted @ 2017-09-15 18:33 迪米特 阅读(490) 评论(0) 推荐(0)

redis性能提升
摘要:1.redis请求执行原理redis客户端与redis服务器之间使用TCP协议进行连接,一个科幻可以通过一个socket连接发送多个请求命令,但每个请求命令发出后client通常会阻塞并等待redis服务器处理,redis服务器处理完毕后会将结果通过响应报文返回给client,因此当执行多条命令的时 阅读全文

posted @ 2017-09-09 19:15 迪米特 阅读(1345) 评论(0) 推荐(0)

python地址解析经纬度,城市
摘要:1.地址列表 1.txt 2.调用百度地图API,解析经纬度,根据经纬度,获取城市 以下代码使用python3 3.运行结果: 2.txt 阅读全文

posted @ 2017-09-04 17:20 迪米特 阅读(7330) 评论(0) 推荐(0)

导航