Python 高级库15 个让新手爱不释手(推荐)


Posted in Python onMay 15, 2021

在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点

1. Dash

Dash 是比较新的软件包,它是用纯 Python 构建数据可视化 app 的理想选择,因此特别适合处理数据的任何人。Dash 是 Flask,Plotly.js 和 React.js 的混合体。

Python 高级库15 个让新手爱不释手(推荐)

图片

2. Pygame

Pygame 是 SDL 多媒体库的 Python 装饰器,SDL(Simple DirectMedia Layer)是一个跨平台开发库,旨在提供对以下内容的低级接口:

音频

键盘

鼠标

游戏杆

基于 OpenGL 和 Direct3D 的图形硬件

Pygame 具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从 Python 脚本播放 MP3 文件

3. Pillow

Pillow 专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换,旋转,应用滤镜,显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。

为了快速了解它,看以下代码示例(加载并渲染):

Python 高级库15 个让新手爱不释手(推荐)

图片

4. Colorama

Colorama 允许你在终端使用颜色,非常适合 Python 脚本,文档简短而有趣,可以在 Colorama PyPI 页面上找到。

Python 高级库15 个让新手爱不释手(推荐)

图片

5. JmesPath

在Python中使用 JSON 非常容易,因为 JSON 在 Python 字典上的映射非常好。此外,Python 带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一。如果我需要使用JSON,可以考虑使用Python。

JMESPath使Python处理JSON更加容易,它允许您明确的地指定如何从JSON文档中提取元素。以下是一些基本示例,可让您对它的功能有所了解:

Python 高级库15 个让新手爱不释手(推荐)

图片

6. Requests

Requests建立在世界上下载量最大的Python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。

以下代码示例说明requests的使用是多么简单。

Python 高级库15 个让新手爱不释手(推荐)

图片

Requests可以完成您能想到的所有高级工作,例如:

认证

使用cookie

执行POST,PUT,DELETE等

使用自定义证书

使用会话Session

使用代理

7. Simplejson

Python中的本地json模块有什么问题?没有!实际上,Python的json是simplejson。意思是,Python采用了simplejson的一个版本,并将其合并到每个发行版中。但是使用simplejson具有一些优点:

它适用于更多Python版本。

它比Python随附的版本更新频率更高。

它具有用C编写的(可选)部分,因此非常快速。

由于这些事实,您经常会在使用JSON的脚本中看到以下内容:

Python 高级库15 个让新手爱不释手(推荐)

图片

我将只使用默认的json,除非您特别需要:

速度

标准库中没有的东西

搜索公众号顶级架构师后台回复“面试”,获取一份惊喜礼包。

Simplejson比json快很多,因为它用C实现一些关键部分。除非您正在处理数百万个JSON文件,否则您不会对这种速度感兴趣。

8. Emoji

Emoji库非常有意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。

Python 高级库15 个让新手爱不释手(推荐)

图片

以下是简单的代码示例:

Python 高级库15 个让新手爱不释手(推荐)

图片

9. Chardet

您可以使用chardet模块来检测文件或数据流的字符集。例如,这在分析大量随机文本时很有用。但是,当您不知道字符集是什么时,也可以在处理远程下载的数据时使用它。

10. Python-dateutil

python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python日期时间功能在哪里结束,而python-dateutil就出现了。

您可以使用此库做很多很棒的事情。我将这些示例限制为我发现特别有用的示例:模糊分析日志文件中的日期,例如:

Python 高级库15 个让新手爱不释手(推荐)

图片

有关更多功能,请参见完整文档,例如:

计算相对增量(下个月,明年,下周一,该月的最后一周等)和两个给定日期对象之间的相对增量。

使用iCalendar规范的超集,根据重复规则计算日期。

tzfile文件(/ etc / localtime,/ usr / share / zoneinfo等)的时区(tzinfo)实现,TZ环境字符串(所有已知格式),iCalendar格式文件,给定范围(在相对增量的帮助下),本地计算机 时区,固定偏移时区,UTC时区和基于Windows注册表的时区。

基于奥尔森数据库的内部最新世界时区信息。

使用Western,Orthodox或Julian算法计算任意一年的复活节周日日期。

11. 进度条:progress和tqdm

这里有点作弊,因为这是两个包,但忽略其中之一是不公平的。

您可以创建自己的进度条,这也许很有趣,但是使用progress或tqdm程序包更快,更不容易出错。

progress

借助这个软件包,您可以轻松创建进度条:

Python 高级库15 个让新手爱不释手(推荐)

图片

Python 高级库15 个让新手爱不释手(推荐)

图片

tqdm

tqdm的功能大致相同,但似乎是最新的。首先以gif动画形式进行一些演示:

Python 高级库15 个让新手爱不释手(推荐)

图片

12. IPython

Python 高级库15 个让新手爱不释手(推荐)

图片

我确定您知道Python的交互式外壳,这是运行Python的好方法。但是您也知道IPython shell吗?如果您经常使用交互式外壳程序,但您不了解IPython,则应该检查一下!

增强的IPython shell提供的一些功能包括:

全面的对象自省。

输入历史记录,跨会话持续存在。

在具有自动生成的引用的会话期间缓存输出结果。

制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。

“魔术”命令,用于控制环境并执行许多与IPython或操作系统相关的任务。

会话记录和重新加载。

对pdb调试器和Python分析器的集成访问。

IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式计算。

IPython是Jupyter Notebook的核心,它是一个开放源代码Web应用程序,可让您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。

13. Homeassistant

我喜欢家庭自动化。这对我来说是一种嗜好,但我至今仍对此深表歉意,因为它现在控制着我们房屋的大部分。我使用Home Assistant将房子中的所有系统捆绑在一起。尽管它确实是一个完整的应用程序,但是您也可以将其安装为Python PyPI软件包。

Python 高级库15 个让新手爱不释手(推荐)

图片

我们的大多数灯具都是自动化的,百叶窗也是如此。

我监视我们的天然气用量,电力用量和产量(太阳能电池板)。

我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。

它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。

它能够自动发现网络上的大多数设备,因此上手起来非常容易。

我已经每天使用Home Assistant已有3年了,它仍处于测试阶段,但这是我尝试过的所有平台中最好的平台。它能够集成和控制各种设备和协议,并且都是免费和开源的。

如果您有兴趣将房屋自动化,请确保有机会!如果您想了解更多,请访问他们的官方网站。如果可以,请将其安装在Raspberry Pi上。到目前为止,这是最简单,最安全的入门方法。我将其安装在Docker容器内功能更强大的服务器上。

14. Flask

Flask是我的入门库,用于创建快速的Web服务或简单的网站。这是一个微框架,这意味着Flask旨在使核心保持简单但可扩展。有700多个官方和社区扩展。

如果您知道自己将开发一个大型的Web应用程序,则可能需要研究一个更完整的框架。该类别中最受欢迎的是Django。

15. BeautifulSoup

如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。Beautiful Soup是一个Python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML。相信我,HTML经常被破坏,所以这是一个非常强大的功能。

它的一些主要功能:

Bautiful Soup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8。您无需考虑编码。

Beautiful Soup位于流行的Python解析器(如lxml和html5lib)的顶部,使您可以尝试不同的解析策略或提高灵活性。

BeautifulSoup会解析您提供的任何内容,并为您做遍历树的工作。您可以将其告诉“查找所有链接”,或“查找带有粗体的表格标题,然后给我该文字。”

以上就是Python 高级库15 个让新手爱不释手(推荐)的详细内容,更多关于Python 高级库的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用Python实现协同过滤的教程
Apr 08 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
基于python内置函数与匿名函数详解
Jan 09 Python
解决python 输出是省略号的问题
Apr 19 Python
python 对key为时间的dict排序方法
Oct 17 Python
Python反爬虫技术之防止IP地址被封杀的讲解
Jan 09 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
python如何读取和存储dict()与.json格式文件
Jun 25 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
Python 机器学习工具包SKlearn的安装与使用
python process模块的使用简介
May 14 #Python
django学习之ajax post传参的2种格式实例
May 14 #Python
You might like
基于PHP与XML的PDF文档生成技术
2006/10/09 PHP
php 验证码实例代码
2010/06/01 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
js表数据排序 sort table data
2009/02/18 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
python线程优先级队列知识点总结
2021/02/28 Python
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
群教班子对照检查材料
2014/08/26 职场文书
车辆委托书范本
2014/10/05 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
民事代理词范文
2015/05/25 职场文书
工资证明格式模板
2015/06/12 职场文书
感恩教师主题班会
2015/08/12 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Python实现简单得递归下降Parser
2022/05/02 Python