Author Archives: coder4

Python的sched模块和Timer类

我们经常需要定时的执行某个任务,在Linux下我们有强大的crontab,但是在Python这个粒度(定时执行函数),如何处理呢?
除了第三方的模块外,标准库为我们提供了sched模块和Timer类。

先说sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。
使用步骤如下:
(1)生成调度器:
s = sched.scheduler(time.time,time.sleep)
第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时[......]

继续阅读

编译安装Tokyo Cabinet和Tokyo Tyrant以及Python接口的使用

为什么要重新用Tokyo Cabinet和Tokyo Tyran?因为在上一篇文章:《编译、安装Kyoto Cabinet, Kyoto Tycoon和Python编程接口》中,发现yoto Tycoon压根就没有靠谱儿的python接口(几个开源的都很不完善,不敢用)。

其实TT在商用环境也应用很多了。比如张宴改造后用于金山游戏的后台存储。
#TC
wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.47.tar.gz
tar[......]

继续阅读

编译、安装Kyoto Cabinet, Kyoto Tycoon和Python编程接口

KC即Kyoto Cabinet就不多说了,是Tokyo Cabinet即TC的C++升级实现,而且版本更新较为频繁(是不是说明不太稳定呢?)。

如果是纯key-value的存储的化,KC是不二的选择。KT是KC的网络接口,下面记录一下编译过程。

环境:Ubuntu 10.04 LTS,Python 2.6.6
#KC
wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.57.tar.gz
tar -xzvf ky[......]

继续阅读

Python Essential Reference 4th – 第11章 – 读书笔记

本章主要介绍测试、调试和性能调优

1、C、Java等语言,都是预编译类型,编译器会阻止大部分的错误。而对于Python来说,仅当运行时才能知道错误。因此,发现错误的过程更麻烦一些。

2、函数、类等第一行常用三个引号的字符串来写注释docstring,如下:

def split(line,...):
"""
Split....

>>>split(...)
>>>[...]
"""

如上所示,doc中经常包含python交互shell的[......]

继续阅读