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中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
Python实现学生成绩管理系统
Apr 05 Python
Python建立Map写Excel表实例解析
Jan 17 Python
python实现装饰器、描述符
Feb 28 Python
Numpy数组转置的两种实现方法
Apr 17 Python
Django框架视图函数设计示例
Jul 29 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
Tensorflow的常用矩阵生成方式
Jan 04 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
Python退出时强制运行一段代码的实现方法
Apr 29 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
Keras保存模型并载入模型继续训练的实现
Feb 20 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利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
JavaScript的Function详细
2006/11/14 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
vue中监听路由参数的变化及方法
2019/12/06 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
js实现简单的倒计时
2021/01/28 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
python如何实现int函数的方法示例
2018/02/19 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
pytorch forward两个参数实例
2020/01/17 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python可以用哪些数据库
2020/06/22 Python
材料加工硕士生求职信
2013/10/10 职场文书
公司领导推荐信
2013/11/12 职场文书
历史系自荐信范文
2013/12/24 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
Python使用Kubernetes API访问集群
2021/05/30 Python
MySQL学习之基础命令实操总结
2022/03/19 MySQL