彩票走势图

隐藏的瑰宝:10个好用但容易被忽视的Python库

原创|行业资讯|编辑:郝浩|2017-02-17 15:23:45.000|阅读 1373 次

概述:Python是一门非常成功的语言,有着非常庞大的本地和第三方库,这也因此造成了许多有用的库被大家所忽视和遗忘。了解更多的知识库可以让工作事半功倍,在这里我们推荐其中的10个好用但容易被忽视的Python库。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Python是一门非常成功的语言,有着非常庞大的本地和第三方库,这也因此造成了许多有用的库被大家所忽视和遗忘。了解更多的知识库可以让工作事半功倍,在这里我们推荐其中的10个好用但容易被忽视的Python库。

Pillow


用途:快速的图像处理

说明:大多数Python的用户在进行图像处理的时候都习惯使用PIL(Python Imaging Library),但是PIL有相当多的缺点和局限性,并且它的更新是在太频繁了。Pillow相比起PIL来说,使用更加简便,通过微小的改动可以做到与PIL代码兼容。Pillow的扩展同时包含了Windows本地成像功能和Python的Tcl/Tk-backed Tkinter GUI程序包。Pillow v4版本于2017年年初发布,新增了一系列变化,其中包含了对最新的独立库(如FreeType、OpenJpeg等)的支持。你可以通过GitHub或者PyPI的知识库去下载Pillow。

Gooey


用途:将基于控制台的Python项目转化成用本地GUI平台控制

说明:在将应用程序项目演示给一般用户时,使用命令行工具或许是最为快捷的方式了。但是某些功能这样做可能效果并不好,比如需要呈现选项的顺序和途径等。 Gooey提取了argparse库中的预估参数,并将它们以GUI的形式呈现给用户,并包含了所有的标签选项以及控制图标(比如多参数选项的下拉图标)。假如你已经使用过argparse库,那么你只需要一点代码(一个include和一个decorator)就可以让它正常工作。

Peewee


用途:包含多个扩展,支持SQLite, MySQL和PostgreSQL的微型ORM

说明:ORM常常不受人待见,许多人为了规避它甚至宁肯离开数据库端的开发模式。但是构造良好,不唐突的ORM对于那些不想触碰数据库、对SQL Alchemy这样一应俱全的浮肿软件抵触的开发者来说是天赐之物,而Peewee就是这样的一类软件。Peewee的模型易于构建、链接和操作,还内置了许多普通的查询处理功能(如分页)。此外它的插件还包含了更多功能,包括其它数据库的扩展、测试工具等,甚至还包含了那些ORM仇视者可能也喜欢的特性——模式迁移系统。

Scrapy


用途:屏幕抓取和网页采集

说明:Scrapy保持着整个抓取过程的简单快捷。创建定义你想抓取的对象的类,然后编写如何提取页面数据的规则,结果可以通过JSON、XML、CSV以及其它格式进行导出。收集的数据可以进行原始保存,也可以进行处理作为新的入口端。另外,Scrapy可以扩展应用到许多其它行为,比如网站登录处理或会话cookie的处理。

Apache Libcloud


用途:通过单个统一的API访问多个云提供商

说明:云提供商都喜欢用他们自己的方式做事,有些东西很微妙,有些东西则不然,因此,如果能够用统一的机制来处理不同资源提供者所使用的不同资源调用方法是一件很有意义的事情。而Apache Libcloud能够满足这样良好的意愿。它的接口同时支持Python 2.x和3.x版本,可以用于计算、存储、负载均衡以及DNS。对于那些为了额外性能,使用的Python PyPy版本,Apache Libcloud 同样提供支持。

Pygame


用途:创建用Python编写的视频游戏的框架

说明:Pygame提供了一个方便的选项来处理那些以GUI为方向的行为,否则需要处理大量繁重的任务:绘制画布和sprite图,处理多通道声音,处理窗口和点击事件,碰撞检测等等。并不是每个应用程序,甚至不是每一个GUI应用程序会受益于Pygame,但是它所带来的表现着实会让人惊讶。

NumPy


用途:科学计算和数学工作,包括统计、线性代数、矩阵数学、金融操作等

说明:对于那些精打细算的人们来说,已经熟知并爱上了NumPy。但是NumPy数学上的应用远不止于此。举个例子来说,NumPy可以提供最简单,最灵活的方式来支持将多维数组添加到Python, 而这正是从其它语言转学Python的新手常常抱怨的问题。如果你想要了解关于Python科学与算法的全部细节,可以查看,它包含了NumPy所解决的标准问题。对于建立在NumPy上的更加复杂的问题,你可以访问。

Sh


用途:可在子流程中调用任何外部程序并返回一个到Python程序的结果,程序的语法与原生Python函数一致

说明:在任何兼容POSIX的系统上,Sh的到来无疑是如鱼得水。这意味着这些平台上的所有命令行程序都可以Python化。你不仅不再需要重新发明轮子,也不必纠结于如何为应用程序优雅地添加该功能。需要注意的是,这个库没有参数处理机制,请确保不要传递未经处理的用户输入。

Python-docx


用途:程序化的创建和操作Microsoft Word .docx文档

说明:从理论上讲,编写创建和操作XML类型的Microsoft Word文档的脚本是一件简单的事情。但事实上,由于.docx文档内部的复制性,这并不是一件容易的事。Python-docx通过提供高水平程序化的方式创建.docx文档,让你不再纠结于此。通过这个库的API接口,所有的文本、图像、样式和文档部分都可以进行添加和改变。

PyFilesystem


用途:任何文件系统的通用、Python类接口

说明: PyFilesystem所代表的思想非常简单:“与文件对象是单个文件抽象化一样的方式,文件(FS)系统对象是整个文件系统的抽象化。” 这意味着并不只包含磁盘上的文件系统,还包括了FTP目录、内存文件系统、操作系统定义的文件系统(如用户目录),以及上述相叠加的组合。除了使更容易编写跨平台操作文件的代码,PyFilesystem还可以去除掉繁杂的不同标准库产物(主要是操作系统和输入输出方面的)。

 

本文翻译自,译者:慧都控件网-回忆和感动,转载请注明本文地址


标签:Python

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP