用于业余项目的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运行效率的方法之间的对比
Apr 03 Python
详解Django中的过滤器
Jul 16 Python
python 类详解及简单实例
Mar 24 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 Python
python计算两个矩形框重合百分比的实例
Nov 07 Python
Python3爬虫全国地址信息
Jan 05 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
Aug 06 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
python打开音乐文件的实例方法
Jul 21 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 Python
上帝为你开了一扇窗之Tkinter常用函数详解
Jun 02 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 生成唯一id的几种解决方法
2013/03/08 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
dess中一个简单的多路委托的实现
2010/07/20 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
python实现二叉查找树实例代码
2018/02/08 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
python使用turtle绘制分形树
2018/06/22 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
python set内置函数的具体使用
2019/07/02 Python
如何基于python测量代码运行时间
2019/12/25 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
AUC计算方法与Python实现代码
2020/02/28 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
初中生自我鉴定
2014/02/04 职场文书
廉洁自律承诺书
2014/03/27 职场文书
端午节寄语2015
2015/03/23 职场文书
呐喊读书笔记
2015/06/30 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
nginx 配置缓存
2022/05/11 Servers