Python
文章平均质量分 69
zbyufei
这个作者很懒,什么都没留下…
展开
-
在生产系统使用Tornado WebServer来代替FastCGI加速你的Django应用
From:http://www.cnblogs.com/Alexander-Lee/archive/2011/05/02/tornado_host_django.html由于官网被墙,讨论组也被墙(囧,万恶的墙)所以tornado的资料很少,官网的资料也语焉不详,所以很多童鞋对如何部署使用Tornado心里没底。所以本文的主要目的就是教会刚入门的新手如何在生产环境使用TornadoTo转载 2012-05-16 19:02:22 · 977 阅读 · 0 评论 -
Python 中文 编码
源程序里面的汉字,直接用普通字符串的方式写出来 '汉字', 不要用unicode字符串的方式 u'汉字' 源程序保存为utf-8编码的文件,且文件头包含 #coding=utf-8 字眼。 其实,只要查找到了 "# coding 编码" 就行了,所以就算 乱写成encoding也无所谓。我个人喜欢# coding="utf-8" 因为它象一个合法的python赋值语句要输出一个字符串或转载 2010-09-25 18:58:00 · 2199 阅读 · 0 评论 -
Python Import机制
最近在看《Python源码剖析》,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了。目的当然不是创造一个动态语言,目的只有一个:更好的使用Python。看到模块导入那块的时候,终于对模块导入机制比较了解了,以防忘记特记录下来。模块的搜索路径模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自转载 2010-09-19 15:19:00 · 7768 阅读 · 0 评论 -
常用的python模块
常用的python模块(转)adodb:数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:转载 2010-09-06 22:39:00 · 955 阅读 · 0 评论 -
curl pycurl
curl是非常强劲的一个工具,google内部用它来 debug GDATA API. Using cURL to interact with Google data services 可以去 http://pycurl.sourceforge.net/ 下载最新的PycURL。简单的PycURL例子import pycurlimport StringIO url原创 2010-12-22 18:31:00 · 1173 阅读 · 0 评论 -
Python 性能 剖分 工具
Python 性能剖分工具From:http://blog.csdn.net/lanphaday/一、profile、cProfile与hotshotprofile、cProfile与hotshot Python 内置了丰富的性能优化工具来帮助我们定位性能瓶颈,如:profile、cProfile和 hotshot。它们易于使用,而且有完备的转载 2010-12-28 16:02:00 · 988 阅读 · 0 评论 -
Python中文转换url编码
今天修改一个天气预报的东西,但输入城市不能得到天气预报,感觉是编码不对,因为你输入一个城市(比如‘杭州’),url的地址编码却是'%E4%B8%BD%E6%B1%9F',因此需 要做一个转换。这里我们就用到了模块urllib。>>> import urllib >>> data = '杭州' >>> print data 杭州>>> data '/xe6/x9d/xad/xe5/x转载 2011-01-18 18:23:00 · 1405 阅读 · 0 评论 -
Python之lxml
作者:Shane出处:http://bluescorpio.cnblogs.com lxml takes all the pain out of XML. Stephan Richter lxml是Python语言里和XML以及HTML工作的功能最丰富和最容易使用的库。lxml是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是它兼顾了这些转载 2011-05-11 09:57:00 · 9116 阅读 · 0 评论 -
Python nose test framework 介绍
一、安装nose 先用easy_install 安装 nose,easy_install是一个很好的python工具,可以方便安装很多的python程序。可以去http://pypi.python.org/pypi/setuptools了解一下easy_install。如果懒得去看的,可以直接从这里下载安装文件进行安装就可以了,注意,这个链接是windows 32位的安装包。 安装转载 2011-06-29 09:50:00 · 3906 阅读 · 2 评论 -
Python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。
1.unicode 缺失转换如把 "/u5317/u4eac"转化成 gb18030的北京s="/u5317/u4eac"s=eval("u'%s'"% s)s.encode('gb18030')print s2.unicode 转换为其它编码(GBK, GB2312等)# -*- coding=gb2312 -*-a=u"中文"a_gb2312原创 2010-09-01 22:21:00 · 13267 阅读 · 0 评论 -
开源网络爬虫程序(spider)一览
spider是搜索引擎的必须模块.spider数据的结果直接影响到搜索引擎的评价指标.第一个spider程序由MIT的Matthew K Gray操刀该程序的目的是为了统计互联网中主机的数目>Spier定义(关于Spider的定义,有广义和狭义两种). 狭义:利用标准的http协议根据超链和web文档检索的方法遍历万维网信息空间的软件程序. 广义:所有能利用http协议检索web文转载 2012-05-10 15:51:54 · 3069 阅读 · 0 评论 -
python爬虫抓站的高级技巧
以前写过一篇使用python爬虫抓站的一些技巧总结,总结了诸多爬虫使用的方法;那篇东东现在看来还是挺有用的,但是当时很菜(现在也菜,但是比那时进步了不少),很多东西都不是很优,属于”只是能用”这么个层次。这篇进阶篇打算把“能用”提升到“用得省事省心”这个层次。一、gzip/deflate支持现在的网页普遍支持gzip压缩,这往往可以解决大量传输时间,以VeryCD的主页为例,未压缩转载 2012-05-10 15:49:02 · 1804 阅读 · 0 评论 -
玩蛇记-使用tornado构建高性能Web应用
From: http://www.cnblogs.com/Alexander-Lee/archive/2010/03/20/1690292.html这个新系列是为了记录在python下的工作点滴,最近从微软平台突然转换到了linux平台下工作,于是.NET不怎么排得上用场,且在python下工作多日才发现原来在.NET下的日子真是往事不堪回首月明中……当然仅仅是一家之言,纯属个转载 2012-05-16 18:53:40 · 1191 阅读 · 0 评论 -
python 用于网站抓取 登录 发布的模块介绍
由于目前的Web开发中AJAX、Javascript、CSS的大量使用,一些网站上的重要数据是由Ajax或Javascript动态生成的,并不能直接通过解析html页面内容就能获得(例如采用mechanize、lxml、Beautiful Soup )。要实现对这些页面数据的爬取,爬虫必须支持Javacript、DOM、HTML解析等一些浏览器html、javascript引擎的基本功能。转载 2012-05-16 18:51:07 · 2205 阅读 · 0 评论 -
Python高手是如何练成的
本文是从 How to become a proficient Python programmer 这篇文章翻译而来。这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。转载 2012-05-15 18:39:10 · 2390 阅读 · 0 评论 -
Python性能鸡汤
第一部分阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到”解析”一词, 认为Python不过是另一门脚本语言. “它肯定很慢!”毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所转载 2012-05-15 19:21:49 · 1292 阅读 · 1 评论 -
用Python查询手机号码归属地
#! /usr/bin/python# -*- coding: utf8 -*- import urllib,urllib2,HTMLParserfrom DxVcl import*class MyParser(HTMLParser.HTMLParser): def reset(self): self._isInTd = False self转载 2012-05-15 19:20:33 · 2228 阅读 · 0 评论 -
让Django支持数据库长连接(可以提高不少性能哦)
现在很流行用一些高性能的nonblock的app server来host Django的应用,这些Server可以看做是一个单进程单线程的程序,然后用nginx在前端反向代理并且负载均衡到N多个后端工作进城来充分利用多CPU的性能,当然这部分的配置工作在上回已经说得很清楚了。但是对于Django来说有一个问题。因为Django的数据库连接是在查询的时候实时创建的,用完就会关掉,这样就会频繁的开闭连原创 2012-05-15 19:14:18 · 2125 阅读 · 0 评论 -
python脚本自动监视tomcat进程,如果崩溃就自动重启
公司的一台服务器安装了海量搜索,但这个搜索程序真的很有问题,经常导致tomcat崩溃,于是不得不每次去重启。我用python写了一个脚本,来监测tomcat是否运行中,如果没有运行就启动它。脚本代码 :#!/usr/bin/pythonimport subprocessimport datetimeres = subprocess.Popen(“ps -ef | grep t转载 2012-05-15 18:54:59 · 7187 阅读 · 1 评论 -
开源python网络爬虫框架Scrapy
介绍:所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法不够专业,更专业的描述就是,抓取特定网站网页的HTML数据。不过由于一个网站的网页很多,而我们又不可能事先知道所有网页的URL地址,所以,如何保证我们抓取到了网站的所有HTML页面就是一个有待考究的问题了。一般的方法是,定义一个入口页面,然后一般一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬转载 2012-05-10 16:01:59 · 19350 阅读 · 1 评论 -
Python 与Pycurl
首先安装python 2.5 ,因为: Very bad support on Windows. We will not use it anymore. Definitely not recommended.After year from release of python 2.6, it is not supported by pycurl. http://www.ac原创 2010-09-06 15:17:00 · 1617 阅读 · 0 评论 -
Python vs. PHP
原文见于Python vs. PHPPython与PHP的共同之处:1. 都是解释型的,它们都是有动态类型的高级语言(动态语言)。2. 都是开源的,(当然,要除掉Zend的几个产品)。3. 都有大量开发者社区来支持。4. 都易学,比Java容易学,甚至比Perl都容易学。5. 都易扩展,用C,C++,Java都可以对它们扩展6. 都有很好的兼容性,它们不用重新编译,转载 2010-12-08 23:15:00 · 2627 阅读 · 2 评论 -
用pycurl监控http响应时间
用pycurl监控http响应时间最近需要对节点到源站自己做个监控,简单的ping可以检测到一些东西,但是http请求的检查也要进行,于是就研究了下pycurlpycurl是个用c语言实现的python 库,虽然据说不是那么pythonic,但是却很高效,它支持的协议居多:supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DI原创 2010-12-22 18:22:00 · 2590 阅读 · 0 评论 -
Python 中的 Subprocess
此文和python内建函数一样,内容全部出自python官方文档,但是会有自己的理解,并非单纯的翻译。所以,如果我理解有误,欢迎指正,谢谢。从python2.4版本开始,你就可以用可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数,比如:os.systemos.sp转载 2011-05-10 11:11:00 · 1560 阅读 · 0 评论 -
Python yield 用法
Python yield 用法yield 用法说明yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。生成器 是 一个函数函数的所有参数都会保留第二次调用 此函数 时使用的参数是前一次保留下的.生转载 2011-06-29 09:46:00 · 1082 阅读 · 0 评论 -
在Javascript里写Python
From: http://coolshell.cn/articles/2688.html以前,本站介绍过去一种写HTML和CSS的新方法,以一种杂交式的代码,昨天给大家介绍了.NET代码和Python及Ruby代码的互相转换工具,但是这个世界可能比我们想像的还疯狂。IronPython 是一个在.NET平台上运行Python的东西,就像那些在JVM上运行其它语言的东东一样。当然,Iro转载 2011-07-04 17:35:11 · 1253 阅读 · 0 评论 -
简单明了的Python 排列组合功能
def PermutationEnumerator(items, n=None): if n is None: n = len(items) for i in range(len(items)): v = items[i:i+1] if n == 1: yield v else:转载 2010-09-09 18:36:00 · 3799 阅读 · 2 评论 -
Python 尾递归优化
偶然在国外一个网站瞅到的,非常的酷,发出来共享一下。一般来说,Python和Java,C#一样是没有尾递归自动优化的能力的,递归调用受到调用栈长度的限制被广泛的诟病,但是这个狂人用一个匪夷所思的方法解决了这个问题并在Python上实现了,从此Python的递归调用再也不用受到调用栈长度的制约,太酷了。首先我们还是从递归说起,之前一篇 《浅谈递归过程以及递归的优化》其中用到了斐波那契数来作为例子转载 2010-09-28 14:19:00 · 1034 阅读 · 0 评论 -
PycURL
1. PycURLpycurl — A Python interface to the cURL libraryPycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Python2.5版编译测试过了.Libcurl 是一个支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 和 LDAP转载 2010-12-22 18:49:00 · 1251 阅读 · 0 评论 -
Python random模块
Bookkeeping functions:random.seed([x])Initialize the basic random number generator. Optional argument x can be any hashable object. If x is omitted or None, current system time is used; curren转载 2010-12-24 17:55:00 · 1560 阅读 · 0 评论 -
Python 压缩rar zip
Python &rar http://code.google.com/p/xbmc-addons/source/browse/trunk/plugins/video/NZB+Streamer/rarfile.py?r=1646下载解压后会有一个rarfile.py的文件,可以直接引用。下面是一个简单的示例。# add the rarfile pathimport sy原创 2010-12-24 18:10:00 · 3851 阅读 · 0 评论 -
python 中文编码 问题
http://blog.csdn.net/bttsyy/archive/2010/10/23/5961019.aspx 这段时间为了项目开发的编译需要,也为了以后的自动化构建系统的需要,我们工作室申请了一台四核的服务器,专门完成一些自动化编译的工作,而我就主动要求承担这份工作,一来我对拓展自己的技术领域比较看重,二来确实也只有我适合,因为之前有过脚本构建的经验,正好也借此机转载 2010-12-03 16:05:00 · 1717 阅读 · 0 评论 -
python 素数
单行程序 扫描素数!from math import sqrt# 求N 以内的素数...from math import sqrtN = 100[ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]^ ^ ^ ^ ^ ^转载 2010-09-26 18:11:00 · 1059 阅读 · 0 评论 -
Python: 50个能够满足所有需要的模块
Python: 50个能够满足所有需要的模块Graphical interface wxPythonhttp://wxpython.orgGraphical interface pyGtkhttp://www.pygtk.orgGraphical interface pyQThttp://www.riverbankcomputing.co.uk/py原创 2010-09-06 22:33:00 · 922 阅读 · 0 评论 -
多线程使用pycurl时出现段错误(segmentation fault)
只需要加一个选项client.setopt(pycurl.NOSIGNAL, 1)Pass a long. If it is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the proce原创 2010-12-22 18:42:00 · 1495 阅读 · 0 评论 -
python 的内嵌time模板翻译及说明
python 的内嵌time模板翻译及说明 一、简介 time模块提供各种操作时间的函数 说明:一般有两种表示时间的方式: 第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不转载 2010-12-24 11:55:00 · 506 阅读 · 0 评论 -
Python 截屏 程序
用 Python PIL 简单实现截屏 # -*- coding: cp936 -*- """ Description: 在Windows上截屏的小程序。使用Python的PIL库 """ from PIL import ImageGrab import os im = ImageGrab.grab() # or call im.show() to vi原创 2010-12-24 18:29:00 · 3215 阅读 · 0 评论 -
python-MySQLdb数据超过200万检索过慢的原因分析
From:http://bbs.chinaunix.net/thread-1587667-1-1.html 有群里面的朋友说python的MySQLdb在检索百万数据量的时候巨慢无比,要达到20分钟左右。由于自己的一些项目也用到了MySQLdb,所以特别注意了一下,于是翻阅了源代码。而后经过大半天对其源码的分析,初步得出一些结论。MySQLdb的性能影响主要是由于_mysql.c代转载 2011-01-07 18:23:00 · 1436 阅读 · 0 评论 -
快速部署Python应用:Nginx+uWSGI配置详解
5.实战应用最初的设置完毕以后,再添加的应用,只需要在Nginx里面进行少量修改,无需重启uwsgi,就能立刻部署完毕。uwsgi自带了基于django的监控uwsgi运行状态的工具,就拿它来部署好了:server { listen 80; root /var/www/django1.23; index index.html index.htm;转载 2011-01-19 10:13:00 · 2667 阅读 · 0 评论 -
python安全管理子进程-subprocess
经常会用到python去调用外部 工具或者命令去干活有的时候子进程并不按预期退出比如,子进程由于某种原因挂在那里,这时候也许,我们有这样一种需求:需要父进程对子进程有监控动作,即,超过一定的时间,就不再等待子进程自己退出,而是去kill子进程,回收资源以下会列出几张实现方法1.os.systemhttp://docs.python.org/lib转载 2011-05-11 15:19:00 · 5103 阅读 · 1 评论