BLOG
Enjoy when you can, and endure when you must.
MAR 12, 2013/Python
PIL处理jpg图片报错的解决办法
今天在使用PIL处理jpg图片时遇到以下异常(方法来源于搜索,这里只是自己总结一下):IOError: decoder jpeg not available这是由于PIL在编译时未能正常支持jpeg处理的缘故。解决办法也很简单:首先卸载之前安装的PIL,下载安装libjpeg-devel:yum install libjpeg-devel然后重新编译PIL即可。    
DEC 23, 2012/Python
Python Queue
线程编程中,正确的线程同步是保证数据正确性所不可缺少的。我们经常会采用生产者/消费者关系的两个线程来处理一个共享缓冲区的数据。利用Python的List和互斥锁可以模拟出一个共享的缓冲区。不过更简单的方法是利用Python的Queue模块。Python Queue模块有三种队列:1. FIFO(先进先出)队列,构造函数为Queue.Queue(maxsize)2. LIFO(先进后出)队列,构造函数为Queue.LifoQueue(maxsize)3. 优先级队列 PriorityQueue(),构造函数为Queue.PriorityQueue(maxsize)这三种队列的构造函数都接受...
DEC 03, 2012/Python
Python生成器
生成器是一次生成一个值的特殊类型函数。可以将其视为可恢复函数。对一个函数来说,如果需要记住一些执行状态。那对于一个普通函数,状态一定保存在函数体之外,也就是要用到全局变量(或静态全局变量),破坏了封装性。而对于一个类的成员函数,则通常将状态保存在类的成员变量中,封装性很好。生成器吸取两种方式的长处, 在普通函数的简捷形式的基础之上,又不破坏封装性,并达到了记录状态的目的。简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。与一般的函数不同...
NOV 30, 2012/Python
一种递归删除空文件夹的方法
def delete_empty_directories(working_dir):     for item in os.listdir(working_dir):         current_path = os.path.join(working_dir, item)         if os.p...
<< < 3 4 5