用于业余项目的8个优秀Python库

作者:Jeff Triplett 时间:2022-04-04 09:44:51 

在 Python/Django 的世界里有这样一个谚语:为语言而来,为社区而留。对绝大多数人来说的确是这样的,但是,还有一件事情使得我们一直停留在 Python 的世界里,不愿离开,那就是我们可以很容易地利用一顿午餐或晚上几个小时的时间,把一个想法快速地实现出来。
作为一门语言,你知道 Python 是如何获得现在的成功的吗? 不妨去看看它大量的库吧,不管是原生的,还是第三方的,可能会有所收获。
有这么多的库,也就不奇怪为什么有的很多人用,有的却没有引起多少人注意。 而且,专注于一个领域的程序员往往并不知道那些看起来是为其他工作类型创建的库能给他们带来什么好处。
这里的8个你可能还未使用,但绝对值得你的注意的优秀的Python库

我们来探讨一些我们喜欢用来快速完成 业余项目(side projects)或打发午餐时间的 Python 库

在数据库中即时保存数据:Dataset

当我们想要在不知道最终数据库表长什么样的情况下,快速收集数据并保存到数据库中的时候, Dataset 库将是我们的最佳选择。Dataset 库有一个简单但功能强大的 API,因此我们可以很容易的把数据保存下来,之后再进行整理。
Dataset 建立在 SQLAlchemy 之上,所以如果需要对它进行扩展,你会感到非常熟悉。使用 Django 内建的 inspectdb 管理命令可以很容易地把底层数据库模型导入 Django 中,这使得和现有数据库一同工作不会出现任何障碍。

从网页抓取数据:Beautiful Soup

Beautiful Soup (一般写作 BS4)库使得从 HTML 网页中提取信息变得非常简单。当我们需要把非结构化或弱结构化的 HTML 转换为结构化数据的时候,就需要使用 Beautiful Soup 。用它来处理 XML 数据也是一个很好的选择,否则 XML 的可读性或许会很差。

和HTTP内容打交道:Requests

当需要和 HTTP 内容打交道的时候, Requests 毫无疑问是最好的标准库。当我们想要抓取 HTML 网页或连接 API 的时候,都离不开 Requests 库。同时,它也有很好的文档。

编写命令行工具:Click

当需要写一个简单的 Python 脚本作为命令行工具的时候, Click 是我最喜欢用的库。它的 API 非常直观,并且在实现时经过了深思熟虑,我们只需要记住很少的几个模式。它的文档也很优秀,这使得学习其高级特性更加容易。

对事物命名:Python Slugify

众所周知,命名是一件困难的事情。 Python Slugify 是一个非常有用的库,它可以把一个标题或描述转成一个带有特性的唯一标识符。如果你正在做一个 Web 项目,并且你想要使用对 搜索引擎优化友好(SEO-friendly)的链接,那么,使用 Python Slugify 可以让这件事变得很容易。

和插件打交道:Pluggy

Pluggy 库相对较新,但是如果你想添加一个插件系统到现有应用中,那么使用 Pluggy 是最好也是最简单的方式。如果你使用过 pytest,那么实际上相当于已经使用过 Pluggy 了,虽然你还不知道它。

把CSV文件转换到API中:DataSette

DataSette 是一个神奇的工具,它可以很容易地把 CSV 文件转换为全特性的只读 REST JSON API,同时,不要把它和 Dataset 库混淆。Datasette 有许多特性,包括创建图表和 geo(用于创建交互式地图),并且很容易通过容器或第三方网络主机进行部署。

处理环境变量等:Envparse

如果你不想在源代码中保存 API 密钥、数据库凭证或其他敏感信息,那么你便需要解析环境变量,这时候 envparse 是最好的选择。Envparse 能够处理环境变量、ENV 文件、变量类型,甚至还可以进行预处理和后处理(例如,你想要确保变量名总是大写或小写的)

来源:https://opensource.com/article/18/9/python-libraries-side-projects

标签:python,库,业余项目
0
投稿

猜你喜欢

  • python commands模块的适用方式

    2022-02-26 19:38:14
  • 浅谈Python中的私有变量

    2023-07-21 17:59:46
  • python中24小时制转换为12小时制的方法

    2023-01-26 20:50:12
  • Python图片转换成矩阵,矩阵数据转换成图片的实例

    2021-03-31 23:24:35
  • 浅谈如何使用Python控制手机(一)

    2023-03-11 14:18:47
  • python+matplotlib绘制旋转椭圆实例代码

    2022-05-28 04:51:44
  • 15款最佳jQuery LightBox插件

    2010-09-25 12:41:00
  • 验证码-挑战你的智慧

    2008-09-10 13:08:00
  • python列表去重的二种方法

    2022-06-02 05:21:41
  • gethostbyaddr在Python3中引发UnicodeDecodeError

    2023-06-15 09:34:33
  • Python批量生成字幕图片的方法详解

    2023-11-03 05:03:15
  • Python面向对象实现方法总结

    2022-03-11 08:50:41
  • JavaScript奇怪的比较——隐式类型转换

    2009-02-15 13:06:00
  • python单元测试框架pytest的使用示例

    2023-01-20 05:59:27
  • python创建文本文件的简单方法

    2021-02-22 02:00:09
  • 用XMlhttp生成html页面

    2007-08-29 19:49:00
  • 浅析is_writable的php实现

    2023-09-09 01:41:05
  • Python简单遍历字典及删除元素的方法

    2021-12-31 08:57:51
  • 盖座漂亮的“楼”–浅谈网页设计中的构图

    2010-09-10 12:44:00
  • Django显示可视化图表的实践

    2023-04-13 02:42:38
  • asp之家 网络编程 m.aspxhome.com