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


Posted in Python onSeptember 21, 2018

在 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 文件、变量类型,甚至还可以进行预处理和后处理(例如,你想要确保变量名总是大写或小写的)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python概率计算器实例分析
Mar 25 Python
Python实现把数字转换成中文
Jun 29 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
Django实现单用户登录的方法示例
Mar 28 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 Python
Python 经典面试题 21 道【不可错过】
Sep 21 #Python
python使用folium库绘制地图点击框
Sep 21 #Python
在python中安装basemap的教程
Sep 20 #Python
python编程使用协程并发的优缺点
Sep 20 #Python
详解Numpy中的广播原则/机制
Sep 20 #Python
Python 读写文件的操作代码
Sep 20 #Python
python使用多进程的实例详解
Sep 19 #Python
You might like
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
在Django的上下文中设置变量的方法
2015/07/20 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
Python字典的核心底层原理讲解
2019/01/24 Python
详解python中的线程与线程池
2019/05/10 Python
python实现两个文件夹的同步
2019/08/29 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
观看《永远的雷锋》心得体会
2014/03/12 职场文书
《观舞记》教学反思
2014/04/16 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
高三化学教学反思
2016/02/22 职场文书