python
小米饭团
这个作者很懒,什么都没留下…
展开
-
捉摸Python的WSGI
过去的这个月,接触的最多的就是Python的WSGI了,WSGI不是框架不是模块,仅仅是一个规范协议,定义了一些接口,却影响着Python网络开发的方方面面。对于WSGI有这么一段定义:WSGI is the Web Server Gateway Interface. It is a specification for web servers and application servers t原创 2012-01-16 10:09:25 · 772 阅读 · 0 评论 -
python mysqldb
linux版本http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.cfg,指定本地mysql的mysql-config文件的路径windows版本网上搜索到一个http://www.technicalbard.com/files/MySQL-python-1.2.转载 2012-02-18 10:18:48 · 568 阅读 · 0 评论 -
python 线程 基础
传送: python 线程基础原创 2012-02-18 10:20:26 · 442 阅读 · 0 评论 -
python except
python except 有时候后面跟个e try: a = 1/0except Exception,e: print e不晓得这个e是啥意思去群里问了下 意思是是捕获Exception的错误 存储到e里面底下是转载过来的文章Python异常处理有很强大处理能力,把错信息的显示给客户,在Python异常处理中,可以对其运行操作,下面是我们转载 2012-02-18 21:30:39 · 1051 阅读 · 0 评论 -
python mysql cursor的一个bug 出2014错误
使用python连接mysql数据库时,如果遇到这样的错误提示:(2014, "Commands out of sync; you can't run this command now")可能是你的几条sql语句执行顺序有问题,也有可能是cursor本身的bug。在执行sql语句前最好清空 cursor里面的所有内容。def executeNonQuery(curs原创 2012-07-05 17:02:53 · 3431 阅读 · 0 评论 -
Python的getattr()
getattr()函数是Python自省的核心函数,具体使用大体如下:10.1.5 获取对象引用getattrGetattr用于返回一个对象属性,或者方法Python代码 class A: def __init__(self): self.a = 'a' def method(self):原创 2012-07-11 11:43:34 · 2570 阅读 · 0 评论 -
asynchronous@tornado
Tornado是一款非阻塞web server,今天做了一个很简单的尝试 non-blocking I/O, 我简单的理解是“允许某一个操作可以继续进行,而不必等待某一资源的响应,预提供一个回调函数,用于处理、响应该资源的结果(当该资源返回相关内容的时候)” 对比异步I/O,我们最常见的就是同步I/O(线性编程),一次请求访问另一个资源,必须等待该资源的成功返回,方可进行下一步操作转载 2012-07-11 16:25:04 · 3339 阅读 · 0 评论 -
asynchronous@tornado 记录二
继续笔记下关于tornado async一些学习知识: Tornado支持long-polling,在其提供的demo中推荐参考的例子就是那个chat demo,我这里参考chat demo,提供一个简单的long-polling测试应用“用于统计当前在线人数,并保持最新数据至各个客户端的同步更新”。 1. 通过URL加一个参数name来模拟在线用户。 2. Ajax long转载 2012-07-11 16:26:50 · 3487 阅读 · 0 评论 -
Tornado源码分析之http服务器篇
一. Tornado是什么?Facebook发布了开源网络服务器框架Tornado,该平台基于Facebook刚刚收购的社交聚合网站FriendFeed的实时信息服务开发而来.Tornado由Python编写,是一款轻量级的Web服务器,同时又是一个开发框架。采用非阻塞I/O模型(epoll),主要是为了应对高并发 访问量而被开发出来,尤其适用于comet应用。转载 2012-07-11 16:57:17 · 3138 阅读 · 0 评论 -
Tornado 的 IOStream 简介与应用
Tornado的核心源码是由ioloop.py和iostream.py这2个文件组成的。前者提供了一个循环,用于处理I/O事件;后者则封装了一个非阻塞的socket。有了这2者后,就能搭建起TCP server和HTTP server,实现异步HTTP客户端,这便是Tornado的主要内容了。之前在研究socket时已差不多弄懂了ioloop的逻辑,于是本文就接着研究iostream了。转载 2012-07-16 17:20:36 · 2897 阅读 · 0 评论 -
python url 解析
#_*_ coding:utf-8 _*_from urlparse import urlparseurl_str = "http://www.163.com/mail/index.htm"url = urlparse(url_str)print 'protocol:',url.schemeprint 'hostname:',url.hostnameprint 'port:',u原创 2012-02-23 12:55:22 · 665 阅读 · 0 评论 -
python Queue模块
创建一个“队列”对象import Queuemyqueue = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中myqueue.put(10)原创 2012-01-16 21:51:34 · 903 阅读 · 0 评论 -
Python 多线程同步的另一种方法 Queue
Queue队列有2个方法put和get方法put 是把共享数据放入队列,get是取出共享数据put从队列的尾部放入,get从队列的头部读出。Queue接受2个参数,一个是队列大小,小于1的队列大小,被认为是无限队列,另一个是同步方式,其中1为阻塞方式,0为触发异常。其实,用Queue来达到线程同步,是非常简单的,因为Queue本省就是线程安全的。不需要额外的锁和条件变量,看例子:转载 2012-01-16 21:37:20 · 725 阅读 · 0 评论 -
python thread之join
线程B 能够调用 线程A的join()方法, 这将阻塞 线程B, 直到线程A被终止. join([timeout]) 等待,直到线程终止. 线程终止的几种情形:正常终止, 抛出异常, 超时 timetout参数不是None时, join()总是返回None, 所以,你必须调用isAlive()来判断超转载 2012-01-16 21:41:06 · 873 阅读 · 0 评论 -
Python实现网络爬虫
本人刚学Python不久,前段时间看到华南师范大学有一个网络爬虫的项目,特意研究了一下,用Python写了一个可以多线程下载的网络爬虫。其实网络爬虫的原理并不是太复杂,具体的一些东西可以参照百度百科的描述,在这里我就不再多说。我使用的网络爬虫下载网页的算法是广度搜索(BFS),网络上对爬虫实现算法的评价中,广度搜索的算法是排行第二的,最好的算法是按网页重要性排序后再确定下载顺序(这原创 2012-01-18 00:55:04 · 9106 阅读 · 1 评论 -
在windows下安装scrapy的方法详解
scrapy在国内目前使用的人比较少,除了他比较新以外,还在于他本身还有很多弊端,比如:需要的支持包比较多,这些支持包相互之间的依赖关系,导致人们在安装他的时候各种吐血,而且吐血了还不一定又正确的结果!所以,今天趁自己需要换工作环境,记录点滴。 本次安装使用的系统环境是windows xp。以下给出具体步骤。我想如果照做一定能够成功哦。 1.安装python2.6.这里选择的是原创 2012-01-19 21:17:29 · 6658 阅读 · 2 评论 -
在Windows上安装Python2.6+MySQL-Python
Python 版本:2.6下载地址:http://www.python.org/download/releases/2.6.1/下载msi文件并安装MySQLdb版本: MySQL-python-1.2.2.win32-py2.6.exe下载地址:http://home.netimperia.com/files/misc/MySQL-python-1.2.2.win32-py2转载 2012-01-21 00:52:22 · 889 阅读 · 0 评论 -
python twisted教程 一,异步编程
python twisted教程 一,异步编程发布于: August 17, 2011, 11:45 pm 分类: Twisted 作者: cyrec 阅读: [214]转自:http://www.notedit.com/原文:http://krondo.com/blog/?p=1209 前言最近有人在twisted邮件列表中问有转载 2012-01-26 15:10:04 · 1591 阅读 · 0 评论 -
python 学习笔记
注:本笔记基于python2.6而编辑,尽量的偏向3.x的语法Python的特色 1.简单 2.易学 3.免费、开源 4.高层语言: 封装内存管理等 5.可移植性: 程序如果避免使用依赖于系统的特性,那么无需修改就可以在任何平台上运行 6.解释性: 直接从源代码运行程序,不再需要担心如何编译程序,使得程序更加易于移植。 7.面向对象:原创 2012-02-01 14:18:43 · 6600 阅读 · 0 评论 -
使用git管理github项目
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。目前大部分的版本控制都需要一個服务器端,commi转载 2012-02-01 17:56:41 · 812 阅读 · 0 评论 -
关于socket的一些初步研究
这些天在研究Tornado的源码,说实话它的代码过于艰深了,需要绕很多弯才能弄清。我想其中的问题主要是我不太懂socket,于是就花了些时间学习socket,算是有了些收获,顺便记录在此。首先是socket的概念。实际上UNIX的设计者很喜欢用类似的方式来处理一类任务,其中数据传输就都被抽象成文件,包括磁盘文件、管道、FIFO和终端等。而socket则是用于连接不同机器或进转载 2012-07-16 17:20:04 · 2504 阅读 · 0 评论