我常用的几个第三方 Python 库
转自:http://blog.csdn.net/gzlaiyonghao/article/details/2966811
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 库的更多相关文章
- python自动化测试(4)-使用第三方python库技术实现
python自动化测试(4)-使用第三方python库技术实现 1 概述 关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 ...
- linux上安装BeatifulSoup(第三方python库)
1. 什么是beatifulsoup? beatifulsoup官网http://www.crummy.com/software/BeautifulSoup/ BeatifulSoup是用Python ...
- 一个随机切换user_agent的第三方python库:my_fake_useragent
因为my_fake_useragent 是第三方,所以需要自己进行安装. 不用担心,它没有任何依赖或者附加环境,只安装它自己就行. 方法1: pycharm传统安装方式. 方法2: pip insta ...
- python自动化测试-使用第三方python库技术实现
转载自https://www.cnblogs.com/beer/p/5418471.html
- Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载
[声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- python 库安装方法及常用库
python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...
- 20个必不可少的Python库也是基本的第三方库
个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy. ...
- iOS项目中常用的第三方开源库
1.项目使用的第三方开源库 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个. (1)AFNetworking 目前比较推荐的 ...
随机推荐
- mysql 命令行导数据库
cd d: 然后应该会提示你已经进入D盘了,按照你数据库的地址,我的数据库是在D盘的wamp这个文件夹目录, 输入命令:cd ruanjian\mysql\bin 类似于这样,大家可以先在本 ...
- Registering an Application to a URI Scheme
https://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx Registering an Application to a URI Sc ...
- 原生javascript-无间缝滚动,封装
目前支持的是竖向与横向滚动 http://lgy.1zwq.com/marScroll/ 现在分析下无间缝实现的基本思路(竖向例子): HTML结构: <div id="marScro ...
- 由浅入深了解EventBus:(四)
事件注册 在EventBus3.0框架中订阅者对事件进行注册/订阅是通过EventBus类中的register方法来实现的,register的方法参数就是我们的订阅者的实例; public void ...
- Jquery Json解析
JSON的优点: 1.基于纯文本,跨平台传递极其简单: 2.Javascript原生支持,后台语言几乎全部支持: 3.轻量级数据格式,占用字符数量极少,特别适合互联网传递: 4.可读性较强,虽然比不上 ...
- 配置django上传文件目录的http访问
1.假设你的html模版文件使用以下路径来访问上传文件内容: url="{{ MEDIA_URL }}{{ images.image }}" 2.设置settings文件: MED ...
- Javascript-- jQuery动画篇(2)
动画效果 前面的 hide/show,slide in/out 其实也具有动画效果,本篇介绍使用 animate()实现自定义动画效果. 基本语法如下: $(selector).animate({pa ...
- Android 代码实现viewPager+fragment 模仿今日头条的顶部导航
模仿今日头条的顶部导航: 下载地址: http://download.csdn.net/detail/u014608640/9917700 效果图:
- Java之引用类型分析(SoftReference/WeakReference/PhantomReference)
引言: 即使对于Java的很多老鸟来说,如果忽然问他引用的类型,大概率是一脸茫然,不知所措的-.Java中的引用还分类型,神马情况??? 本文将针对这些类型进行分析,帮助您一文知所有类型. Java的 ...
- Java之JVM逃逸分析
引言: 逃逸分析(Escape Analysis)是众多JVM技术中的一个使用不多的技术点,本文将通过一个实例来分析其使用场景. 概念 逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配 ...