请选择 进入手机版 | 继续访问电脑版

15个好用到哭的python库,太牛了!

[复制链接]
听见深浅 发表于 2020-12-31 18:12:00 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 作者:Erik van Baaren
译者:数据黑客

原文链接:https://medium.com/tech-explained/top-15-python-packages-you-must-try-c6a877ed3cd0

为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和盛行。
在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点。
1. Dash

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

2. Pygame

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


  • 音频
  • 键盘
  • 鼠标
  • 游戏杆
  • 基于OpenGL和Direct3D的图形硬件
Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。只管它具有完善的游戏引擎,但您也可以使用此库直接从Python脚本播放MP3文件。
3. Pillow

Pillow专门用于处置惩罚图像,您可以使用该库创建缩略图,在文件格式之间转换,旋转,应用滤镜,显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。
为了快速相识它,看以下代码示例(加载并渲染图片):

4. Colorama

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

5. JmesPath

在Python中使用JSON非常容易,因为JSON在Python字典上的映射非常好。此外,Python带有自己精彩的json库,用于剖析和创建JSON。对我来说,这是它最好的功能之一。如果我需要使用JSON,可以思量使用Python。
JMESPath使Python处置惩罚JSON更加容易,它允许您明白的地指定如何从JSON文档中提取元素。以下是一些根本示例,可让您对它的功能有所相识:

6. Requests

Requests创建在世界上下载量最大的Python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。
以下代码示例说明requests的使用是多么简单。

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


  • 认证
  • 使用cookie
  • 执行POST,PUT,DELETE等
  • 使用自界说证书
  • 使用会话Session
  • 使用署理
7. Simplejson

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


  • 它适用于更多Python版本。
  • 它比Python随附的版本更新频率更高。
  • 它具有用C编写的(可选)部分,因此非常快速。
由于这些事实,您经常会在使用JSON的脚本中看到以下内容:

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


  • 速度
  • 标准库中没有的东西
Simplejson比json快许多,因为它用C实现一些关键部分。除非您正在处置惩罚数百万个JSON文件,否则您不会对这种速度感兴趣。
8. Emoji

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

以下是简单的代码示例:

9. Chardet

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

python-dateutil模块提供了对标准datetime模块的强大扩展。我的履历是,常规的Python日期时间功能在那里结束,而python-dateutil就出现了。
您可以使用此库做许多很棒的事情。我将这些示例限制为我发现特别有用的示例:含糊分析日志文件中的日期,例如:

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


  • 盘算相对增量(下个月,来岁,下周一,该月的最后一周等)和两个给定日期对象之间的相对增量。
  • 使用iCalendar规范的超集,根据重复规则盘算日期。
  • tzfile文件(/ etc / localtime,/ usr / share / zoneinfo等)的时区(tzinfo)实现,TZ情况字符串(所有已知格式),iCalendar格式文件,给定范围(在相对增量的资助下),当土地算机 时区,固定偏移时区,UTC时区和基于Windows注册表的时区。
  • 基于奥尔森数据库的内部最新世界时区信息。
  • 使用Western,Orthodox或Julian算法盘算任意一年的复活节周日日期。
11. 进度条:progress和tqdm

这里有点作弊,因为这是两个包,但忽略此中之一是不公平的。
您可以创建自己的进度条,这也许很有趣,但是使用progress或tqdm步伐包更快,更不容易堕落。
progress
借助这个软件包,您可以轻松创建进度条:


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

12. IPython


我确定您知道Python的交互式外壳,这是运行Python的好方法。但是您也知道IPython shell吗?如果您经常使用交互式外壳步伐,但您不相识IPython,则应该查抄一下!
增强的IPython shell提供的一些功能包括:


  • 全面的对象自省。
  • 输入汗青记载,跨会话持续存在。
  • 在具有自动生成的引用的会话期间缓存输出效果。
  • 制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。
  • “把戏”下令,用于控制情况并执行许多与IPython或操作系统相关的任务。
  • 会话记载和重新加载。
  • 对pdb调试器和Python分析器的集成访问。
  • IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式盘算。
IPython是Jupyter Notebook的焦点,它是一个开放源代码Web应用步伐,可让您创建和共享包罗实时代码,方程式,可视化效果和叙述文本的文档。
13. Homeassistant


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


  • 我们的大多数灯具都是自动化的,百叶窗也是如此。
  • 我监视我们的天然气用量,电力用量和产量(太阳能电池板)。
  • 我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。
  • 它还可以控制我们所有的娱乐系统,例如三星电视和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经常被粉碎,所以这是一个非常强大的功能。
它的一些主要功能:


  • Beautiful Soup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8。您无需思量编码。
  • Beautiful Soup位于盛行的Python剖析器(如lxml和html5lib)的顶部,使您可以实验不同的剖析战略或提高机动性。
  • BeautifulSoup会剖析您提供的任何内容,并为您做遍历树的工作。您可以将其告诉“查找所有链接”,或“查找带有粗体的表格标题,然后给我该文字。”
  1. - END -本文为转载分享&推荐阅读,若侵权请接洽背景删除-----------------长按识别下方二维码,并关注公众号1.复兴“PY”领取1GB Python数据分析资料2.复兴“BG”领取3GB 名企数据分析陈诉
复制代码
来源:https://blog.csdn.net/weixin_43413451/article/details/111940361
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )