python
robert_zhai
Life is short, cherish what we have owned !
My github is https://robertzhai.github.io 。
展开
-
python book recommend: effective python
free to download https://github.com/robertzhai/ebooks/tree/master/server原创 2016-09-18 11:25:45 · 464 阅读 · 0 评论 -
python deadlock
'''Created on 2013-12-8@author: Administrator'''import threading,timea=1alock = threading.Lock()b=2block = threading.Lock()def calc1(): print "calc1 acquiring lo原创 2013-12-08 10:50:06 · 669 阅读 · 0 评论 -
python semaphore
'''Created on 2013-12-8@author: Administrator'''import threading,time,randomdef numbergen(sem, queue, qlock): while 1: time.sleep(2) if random.randin原创 2013-12-08 10:40:02 · 2181 阅读 · 0 评论 -
Example of how to wait for enqueued tasks to be completed:
Example of how to wait for enqueued tasks to be completed:def worker(): while True: item = q.get() do_work(item) q.task_done()q = Queue()for i in range(num_worker_转载 2013-09-25 08:37:16 · 471 阅读 · 0 评论 -
python recommendation
'''Created on 2013-9-28@author: Administrator'''users = {"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, "Norah Jones": 4.5, "Phoenix": 5.0,"Slightly S原创 2013-10-08 09:05:15 · 1010 阅读 · 0 评论 -
Python yield 使用浅析
https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/def fab(max): n, a, b = 0, 0, 1 while n < max: yield b # print b a, b = b, a + b n转载 2013-09-21 11:48:41 · 514 阅读 · 0 评论 -
python User-defined Exceptions
Programs may name their own exceptions by creating a new exception class (see Classes for more about Python classes). Exceptions should typically be derived from theException class, either direc转载 2013-09-16 08:56:16 · 1088 阅读 · 0 评论 -
python set
Python also includes a data type for sets. A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also suppor转载 2013-09-13 08:32:19 · 682 阅读 · 0 评论 -
set ,list 推导
list>>> [x**2 for x in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]set>>> a = {x for x in 'abracadabra' if x not in 'abc'}>>> aset(['r', 'd'])原创 2013-09-13 08:31:13 · 525 阅读 · 0 评论 -
python function default values
The default values are evaluated at the point of function definition in the defining scope看了函数调用时参数一定要传对,下面的输出5i = 5def func(arg = i): print arg i = 6func()原创 2013-09-12 22:53:00 · 1751 阅读 · 0 评论 -
python judge prime number
import sysdef isPrime(n): if n return False for m in range(2, (n+1)/2): if n % m == 0: return False return True while原创 2013-09-12 22:29:26 · 1413 阅读 · 0 评论 -
python Queue module
'''@author: Administrator'''import threadingimport Queueimport time,randomWORKERS = 2print "start"class Worker(threading.Thread): def __init__(self, queue):原创 2013-09-03 22:50:14 · 622 阅读 · 0 评论 -
python lock
import threading import time,randomclass Counter: def __init__(self): self.lock = threading.Lock() self.value = 0 def increment(self): self.lock原创 2013-09-03 22:22:46 · 959 阅读 · 0 评论 -
python array 阵列
'''、@author: Administrator'''import arraya = array.array("B",range(16))print aprint repr(a.tostring())b = array.array("h", range(16))print bprint repr(b.tostring())原创 2013-09-04 08:54:00 · 2092 阅读 · 0 评论 -
python threading server
'''Created on 2013-12-8@author: Administrator'''import socket, traceback,os,sysimport threadingdef handlechild(clientsock): print "got connection from ", clientsock.getpeername() while原创 2013-12-08 11:30:17 · 737 阅读 · 0 评论 -
python threading.Lock()
'''Created on 2013-12-7@author: Administrator'''import threading,timeb=50l=threading.Lock()def threadcode(): global b print "thread %s invoked " % threading.current原创 2013-12-08 09:35:21 · 2508 阅读 · 0 评论 -
HTMLParser python usage
'''Created on 2013-12-2@author: Administrator'''from HTMLParser import HTMLParserimport urllibimport sysclass ParseLinks(HTMLParser): def __init__(self):转载 2013-12-02 22:07:31 · 564 阅读 · 0 评论 -
flask wtf 表单校验总结
代码和文档见 https://github.com/robertzhai/python/tree/master/flask_coupon1. wtf 文档 http://docs.jinkan.org/docs/flask-wtf/2.使用 方法如下class CouponForm(Form): pid = StringField('pid', val原创 2016-09-14 14:54:41 · 2781 阅读 · 0 评论 -
tornado 异步模型学习和压测总结
压测工具、文档、代码请参考 https://github.com/robertzhai/python/tree/master/tornado-basic1.异步下载天气信息,@tornado.web.asynchonous装饰器#rate_async.pyclass IndexHandler(tornado.web.RequestHandler): @tornado.w原创 2016-09-13 17:52:33 · 1211 阅读 · 0 评论 -
scrpay 和 pyv8解析js,抓取天气预报数据
github项目地址:https://github.com/robertzhai/python/tree/master/scrapy/weather# -*- coding:utf-8 -*-import os,sysimport timeimport jsonfrom pyv8 import PyV8import jsonstr = '''{city:'济南',tqInfo原创 2016-08-18 18:06:59 · 2090 阅读 · 0 评论 -
python profile
类似php的xhprof的性能分析工具,见下两链接:http://python.jobbole.com/74266/http://xianglong.me/article/analysis-python-application-performance-using-cProfile/转载 2016-08-28 16:38:29 · 440 阅读 · 0 评论 -
locust load test
fromlocust importHttpLocust, TaskSet, task"""http://docs.locust.io/en/latest/locust -f ./demolocust.py --host=http://docs.locust.io"""class UserBehavior(TaskSet): def on_start(self原创 2015-12-20 22:02:05 · 663 阅读 · 0 评论 -
天翼查号接口调用
#!/usr/bin/pythonimport osfh = open("code.txt", "r")print "start crawling ....";for line in fh: line = line.strip() print line os.system("php worker_tianyi.php %d &" % int(line))原创 2014-02-17 15:39:29 · 900 阅读 · 0 评论 -
python start jobs
#!/usr/bin/pythonimport osstart = 0;end=20;print "start"while start <=end: print "php parse_dianping_gzip.php %d" % start os.system("php parse_dianping_gzip.php %d &" % start ) start原创 2014-02-13 11:34:43 · 506 阅读 · 0 评论 -
python connection pool
import MySQLdbfrom DBUtils.PooledDB import PooledDBpool = PooledDB(MySQLdb,15,host='localhost',user='test',passwd='test',db='crawl',port=3306) #15为连接池里的最少连接数 conn = pool.connection() cu原创 2013-12-26 23:22:48 · 2889 阅读 · 0 评论 -
python yellow page thread crawler
把之前的爬虫用python改写了,多线程和队列 来抓取,典型的生产者消费者模式 #-*- coding: utf-8 -*-'''spider.pyCreated on 2013-12-21http://www.cn360cn.com/news.aspx?pageno=2@author: Administrator'''import Pagerimport Queuei原创 2013-12-21 17:44:54 · 833 阅读 · 0 评论 -
python smtp send mail
import smtplibimport base64from email.mime.text import MIMETextsender = 'wwwww6@163.com'mailto = '3331@qq.com'#邮件信息msg =MIMEText("It's a text email!")msg['Subject'] = 'Hello world'msg['to'原创 2013-12-21 20:01:21 · 3664 阅读 · 0 评论 -
开始深入学习python
今天和全威聊了会,他强调不会python就会落伍,哥从现在起开始用python写小项目,之前把官方的手册看了一遍,没怎么写代码。原创 2013-12-18 21:26:52 · 789 阅读 · 0 评论 -
python 启动多个php进程处理数据
#-*- coding: utf-8 -*-'''Created on 2013-12-29@author: Administrator'''from multiprocessing import Processimport sys, osdef parse_task(arg): os.system("nohup php parse_meis原创 2013-12-29 22:40:32 · 770 阅读 · 0 评论 -
python HTTPServer
'''Created on 2013-12-3@author: Administrator'''from BaseHTTPServer import HTTPServer, \ BaseHTTPRequestHandlerclass RequestHandler(BaseHTTPRequestHandler): def _writeheade原创 2013-12-03 09:09:52 · 2250 阅读 · 0 评论 -
python low level thread
'''@author: Administrator'''import threadimport time,randomdef worker(): for i in range(5): time.sleep(random.randint(10,100)/1000.0) print thread.get_ident(原创 2013-09-04 08:19:39 · 602 阅读 · 0 评论 -
Python 魔术方法指南
https://pycoders-weekly-chinese.readthedocs.org/en/latest/issue6/a-guide-to-pythons-magic-methods.html#id13转载 2013-09-04 08:13:26 · 566 阅读 · 0 评论 -
python stack
'''@author: Administrator'''import QueueEmpty = Queue.Emptyclass Stack(Queue.Queue): "thread-safe stack" def __put__(self, item): self.queue.insert(0,原创 2013-09-04 08:12:36 · 1472 阅读 · 0 评论 -
python-multiprocessing module install
1. wget http://ftp.de.debian.org/debian/pool/main/p/python-multiprocessing/python-multiprocessing_2.6.2.1.orig.tar.gz2. python setup.py install原创 2013-03-10 15:46:28 · 897 阅读 · 0 评论 -
Interprocess Communication
python interprocess communication : pipes and queues原创 2013-03-10 16:13:45 · 592 阅读 · 0 评论 -
python map and apply
# cat map.py def cube(x):return pow(x,3);l = [1,3,4];nl = map(cube,l);print l,nl;tmp=[];for item in l:tmp.append(pow(item,3));print tmp;for key in range(len(l)):l原创 2013-02-24 10:15:14 · 547 阅读 · 0 评论 -
python 函数返回多个值
[@ function]# cat square.py def squ(a,b):a=a*a;b=b**3;return a,b;one,two= squ(3,4);print one,two;[@ function]# python square.py 9 64原创 2013-02-24 10:03:29 · 445 阅读 · 0 评论 -
python tuple and dict arg
def message(text,*line ,**head): for key in head.keys(): print key+":"+head[key]; print print text for item in line: print item; message('this is text'原创 2013-02-24 09:00:25 · 251 阅读 · 0 评论 -
python 条件定义函数
'''Created on 2013-2-23@author: Administrator'''sum = 1;if(sum): def add(): print 'add function';else: def sub(): print 'sub function';add();原创 2013-02-23 23:22:35 · 873 阅读 · 0 评论 -
python satic method
'''Created on 2013-3-4@author: Administrator'''class Circle: """ circle class""" all_circles = [] pi = 3.14 def __init__(self,r=1): self.radius = r; s原创 2013-03-04 09:02:30 · 243 阅读 · 0 评论