常用的几个第三方 Python 库

Python  语言之所以能够如此流行,除了本身内置许多程序库来保障快速开发之外,目不�L接的第三方库也是一大主因。结合我目前的工作(网游开发),我常用的几个第三方库如下:

wxPython

如果你之前是  windows  程序员,用  MFC  或者  WIN32API  开发界面程序,那进入  Python  国度最好的  GUI  选择应该是  wxPython 。它是  wxWidgets   Python Bind ,与  wxWidgets  的开发完美同步,最为重要的一点是它的消息机制与  MFC  颇为相似,以前在  MFC  的经验完全可以稍作变化就套用在  wxPython  上面。在  WIN32  开发中,最讨厌的一环肯定有  WM_SIZE  消息的处,在主窗口大小变化的时候,保持控件布局在  WIN32  是一件麻烦事。这件事情  wx  解决得非常完美,它的 sizer  概念可以让我轻松地在不同窗口尺寸的情况下保持完美的控件布局。另外如果你已经讨厌了  MFC   doc-view  模型, wx  也可以给你一个新的选择;如果你非常喜欢  doc-view  模型,放心,在  wx  中仍然可以轻松实现,以前的思想依然可以在这里发挥余热。
wxPython  有两个封装,一个  PythonCard ,另一个是  dabo 。前者是  wxPython  的有限封装,不支持  wxPython  的全部特性,它的目标是让  wxPython  更加  Pythonic 。后者比  PythonCard  要庞大不少,确切来说,它应该是一个三层架构的  C/S  模式的开发框架。如果你想开发基于数据库的应用(如  MIS ERP  等)用  dabo  是一个不错的选择;另外,如果你之前习惯了  VB VFP Delphi   RAD  开发环境, dabo  并不比这些昂贵的工具差多少哦!

py2exe

按照邪恶的  windows  思维,编写的应用如果不编译出一个  .exe  文件恐怕是算不得“软件”的, py2exe  作用正是把你的  .py  脚本变成  .exe  文件,通常它会把脚本打包到一个  .zip  文件中去,但也你可以通过修改  setup.py  脚本把所有的脚本、依赖的  dll  等全部打包到一个  exe  中去,看起来跟  VC VB  编译出来的程序没有什么两样!
如果你的客户需要在  windows  下使用你的应用程序, py2exe  是你不可或缺的工具。我就是用它打包由 wxPython 写的小工具给公司里的游戏策划用的。

psyco

脚本的执行效率多少有点差强人意,虽然优化起来并不是难事,但如果有简单的方法,近乎不用修改源代码,那当然值得去关注一下。 psyco  的神奇在于它只需要在代码的入口处调用短短两行代码,性能就能提升  40%  或更多,真可谓是立竿见影!
如果你的客户觉得你的程序有点慢,敬请不要急着去优化代码, psyco  或许能让他立即改变看法。 psyco  堪称  Python   jit ,有许多潜力可以挖掘,如果剩下来给你优化性能的时间已经不多,请马上去阅读它的手册,有许多招儿轻松优化性能。

PIL

PIL   Python  的图像处理库,我的看法是强到没得说,简单到没得说。它可以打开数十种图像格式,常见的  jpg/png/bmp  等当然不在话下;此外还提供许多图像处理函数,如图像增强、滤波算法等,详情可以参考我以前的一篇文章《用 Python  做图像处理》( http://blog.csdn.net/lanphaday/archive/2007/10/28/1852726.aspx )和《计算图像相似度》( http://blog.csdn.net/lanphaday/archive/2008/04/24/2325027.aspx )。

MySQLdb

这是  Python  对开源数据库  Mysql  的支持,官网在 http://sourceforge.net/projects/mysql-python 。支持  Mysql 3.23-5.1  全系列版本, Python  版本的要求是  2.3-2.5 MySQLdb   Python DB API-2.0  的实现,现在已经很成熟了。最新的版本是   1.2.2  
如果从事服务器开发,那少不得跟数据库连接池打交道,这时你可以使用  DBUtils    jonpy  两个开源程序库。其中  DBUtils  是一套数据库连接池库,而  jonpy  则包括了  CGI  以及数据库连接池等多个功能,请在阅读手册后选择合适的自己库。

pyprocessing

Python  解释器里的  GIL (全局解释器锁)使得  Python  在多核时代有点尴尬――这个支持原生线程的脚本语言竟然不能通过多线程利用多个  CPU  内核同时并发计算。 pyprocessing  没有尝试去除  GIL ,而是剑走偏锋,尝试从多进程的方式来帮助  Python  走出困境。结果就是使用  pyprocessing  创建进程和进程间通信不仅像使用内置的  threading  模块那么简单,甚至还更加简单。 pyprocessing  不仅可以通过本机  socket  和管道进行通信,而且封装得极为完美,它的  Queue  实现用起来跟内置的  Queue  没啥两样,但它是一个进程间共享的队列哦!
pyprocessing    py2.6    py3.0  中已经作为内置模块了,也算是开发社区对  pyprocessing  项目的肯定吧。如果你用  Python  开发服务器应用,特别是网络游戏这样的应用, pyprocessing  怎么可以不去关注一下!

你可能感兴趣的:(python,职场,库,休闲)