彩票走势图

10个值得注意的Python库

转帖|行业资讯|编辑:龚雪|2017-02-14 11:01:19.000|阅读 335 次

概述:不管是原生的,还是第三方,大量的库是支撑着Python走向成功的重要因素。

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

当前受欢迎的语言之一Python已正式迁移到源码托管平台 GitHub,拥抱了 Git 版本控制系统。作为一门语言,你知道 Python 是如何获得现在的成功的吗? 不妨去看看它大量的库吧,不管是原生的,还是第三方的,可能会有所收获。有这么多的库,也就不奇怪为什么有的很多人用,有的却没有引起多少人注意。 而且,专注于一个领域的程序员往往并不知道那些看起来是为其他工作类型创建的库能给他们带来什么好处。这里有 10个你可能已经忽略,但绝对值得你的注意的优秀的 Python 库。 是时候给这些隐藏的宝藏一些关注了。

1、Pillow

简介:图像“无痛”处理库,易用版的 PIL。

亮点:大多数执行过图像处理的 Pythonist 应该会熟悉 PIL(Python 图像库),但 PIL 有不少缺点和限制,并且很少更新。Pillow 的目标是比 PIL 更容易使用,并通过最小的变化与 PIL 代码兼容。 扩展包括用于与本机 Windows 的映像功能和 Python Tcl/Tk-backed Tkinter GUI 包。

Pillow 在2017年初发布了 4.0 版本,增加了许多变化,主要是针对内部结构,但同时也更新了 Pillow 使用 的 FreeType 和 OpenJpeg 等最新版本的依赖库。

2、Gooey

简介: 一条命令,将命令行程序变成一个 GUI 程序。

亮点:Gooey 论证了 argparse 命令行解析库期望的参数,并把它们作为 GUI 形式呈现给用户,所有选项都使用适当的控件(例如多选项参数的下拉列表等)进行标记和显示。 假设你已经在使用 argparse,只需要很少的附加编码 - 一个单独的 include 和一个单独的 decorator ,就能使其工作。

3、Scrapy

简介:一个快速、高级的屏幕抓取及 web 爬虫框架。

亮点:Scrapy 保持整个爬取过程简单。 创建一个类,并定义你要删除的项目的类型,并编写一些关于如何从页面中提取数据的规则。结果将以 JSON、XML、CSV 或许多其他的格式导出。收集的数据可以保存为 raw,也可以在导入时进行清理。 此外,Scrapy 可以扩展允许许多其他行为,例如网站登录处理、会话 cookie 处理。 图像也可以被 Scrapy 自动提取并与被抓取的内容相关联。

4、Pygame

简介:一个高可移植性的游戏开发模块。

亮点:如果你认为除了身处游戏开发世界的,其他人不会想要这样的框架,那还请再重新思考一下。 Pygame 提供了一个方便的选项来处理许多面向 GUI 的行为:绘制画布和 sprite 图形、处理多声道声音、处理窗口和点击事件、 碰撞检测等等。 不是每个应用,或者可以说不是每个 GUI 应用,在使用 Pygame 构建时都能受益,但仔细看看它提供了什么,你可能会感到惊讶。

5、Python-docx

简介:以编程方式创建和操纵 Microsoft Word .docx 文件。

亮点:理论上,编写用于创建和操纵 XML-style Microsoft Word 文档的脚本应该很容易。 但在实践中,由于 .docx 格式的内部复杂性,其实还真没那么简单。 Python-docx 允许通过提供一种高级的、编程的方式来创建 .docx 文件,从而完成所有的相关操作。

文本、图像、样式和文档都可以通过库的 API 添加和更改。 该库还允许更改现有文档。不过某些功能仍然不受支持, 例如不能添加或更改标题和脚注 - 但 Python-docx 尽最大努力保留了这些东西,即便它们还不能被操纵。

6、PyFilesystem

简介:一个为所有文件系统提供的通用 Pythonic 接口。

亮点: PyFilesystem 背后的基本理念非常简单:“以同样的方式抽象整个文件系统”。它是文件系统的抽象层。实际上,任何包含文件和目录的东西(硬盘、压缩文件、FTP服务器等等)都可以封装成一个共同的接口,甚至彼此叠加组合。使用这个模块,你可以不需要知道文件确切的物理位置。

除了使编写用于操作文件的跨平台代码变得更容易外,PyFilesystem 还省去了将来自标准库(主要是 os 和 io)的不同部分的东西拼凑在一起的步骤。

7、Behold

简介:一款强大的支持 print-style 的调试工具。

 亮点:对于大多数语言来说,有一个很简单的调试方法:插入 in-line "print" 语句。 Python 也不例外,即使是在大型项目,也有不少人这么做。 但简单的 print-debugging,很难在大型、多模块的项目中获得有用的结果。

Behold 提供了一个用于通过 print 语句进行上下文调试的工具包。 它允许对输出施加统一的外观,对结果进行标记,以便可以通过搜索或过滤器对其进行排序。并且跨模块提供上下文,以便可以在另一个模块中正确调试来自某个模块的函数。Behold 可以处理许多常见的 Python 特定场景,如 printing 对象的内部字典、揭露嵌套的属性、存储和重用结果、在调试过程中的其他点进行比较等等。

8、Sh

简介:一个完备的 subprocess 替代库,能调用 subprocess 中的任意外部程序,并将结果返回到 Python 应用。

亮点:在任何兼容 Posix 的系统上,Sh 都是一个神器。 这意味着在这些平台上可用的所有命令行程序都可以使用 Python。 你不仅不再需要重新造轮子,还不用再为如何优雅地添加该功能到你的应用上而努力。 值得注意的是:该库对于通过此库传递的参数没有清理界限,请确保不要将原始用户输入传递。

9、NumPy

简介:科学计算和数学工作基础包,包括统计学、线性代数、矩阵数学、金融操作等等。

亮点:Quant 和 bean 计数器已经了解 NumPy 并且喜欢它,但 NumPy 的数学 'n' 统计的应用范围比你想象的更广。 例如,它是向多维数组添加对 Python 支持的最简单、最灵活的方法之一。 NumPy 提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库,专为进行严格的数字处理而产生,和稀疏矩阵运算包 Scipy 配合使用更加方便。

10、Apache Libcloud

简介:一个为各种云设计的 Python 库,通过单一、一致和统一的 API 访问各个云提供商。

亮点:如果上面关于 Apache Libcloud 的描述没有让你有摩拳擦掌想去体验的冲动,没关系。 云提供商都喜欢以他们自己的方式做事情 - 有时巧妙,有时不是 - 所以有一个统一的机制来处理几十个提供商和相关的方法来操纵他们的资源是一个福音。 API 可用于计算、存储、负载平衡和 DNS,支持 2.x 和 3.x 的 Python 风格。 对于那些为了额外的性能使用 Python 的 PyPy 版本的,也能被很好地支持。

原文:

编译:开源中国 王练

更多行业资讯,更新鲜的技术动态,尽在。


标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP