好玩的python库,python最好用的库
Python视频教程栏目介绍15个好用的python库
推荐(免费):Python视频教程
我为什么喜欢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
枕头是专门用来处理图像的。您可以使用这个库来创建缩略图、在文件格式之间转换、旋转、应用滤镜、显示图像等等。如果您需要对许多图像执行批处理操作,这是非常理想的。
要快速了解它,请看下面的代码示例(加载和呈现图片):
4. Colorama
Colorama允许在终端中使用颜色,非常适合Python脚本。文档简短有趣,可以在Colorama PyPI页面上找到。
5. JmesPath
在Python中使用JSON是非常容易的,因为JSON在Python字典中映射得非常好。此外,Python自带优秀的json库,用于解析和创建JSON。对我来说,这是它最好的特性之一。如果我需要使用JSON,我可以考虑使用Python。
JMESPath使Python更容易处理JSON,它允许您显式地指定如何从JSON文档中提取元素。以下是一些基本示例,让您了解它的功能:
6. Requests
Requests构建于urllib3之上,urllib 3是世界上下载量最大的Python库。它使Web请求变得非常简单、强大和通用。
下面的代码示例显示了使用请求是多么简单。
请求可以完成您能想到的所有高级工作,例如:
证明
使用cookie
执行发布、上传、删除等操作。
使用自定义证书
使用会话会话
使用代理
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算法计算任意一年的复活节周日日期。
这里有点作弊,因为这是两个包,但忽略其中之一是不公平的。
您可以创建自己的进度条,这也许很有趣,但是使用progress或tqdm程序包更快,更不容易出错。
progress
借助这个软件包,您可以轻松创建进度条:
tqdm
tqdm的功能大致相同,但似乎是最新的。首先以gif动画形式进行一些演示:
12. IPython
我确定您知道Python的交互式外壳,这是运行Python的好方法。但是您也知道IPython shell吗?如果您经常使用交互式外壳程序,但您不了解IPython,则应该检查一下!
增强的IPython shell提供的一些功能包括:
- 全面的对象自省。
- 输入历史记录,跨会话持续存在。
- 在具有自动生成的引用的会话期间缓存输出结果。
- 制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。
- “魔术”命令,用于控制环境并执行许多与IPython或操作系统相关的任务。
- 会话记录和重新加载。
- 对pdb调试器和Python分析器的集成访问。
- IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式计算。
13. Homeassistant
我喜欢家庭自动化。这对我来说是一种嗜好,但我至今仍对此深表歉意,因为它现在控制着我们房屋的大部分。我使用Home Assistant将房子中的所有系统捆绑在一起。尽管它确实是一个完整的应用程序,但是您也可以将其安装为Python PyPI软件包。
- 我们的大多数灯具都是自动化的,百叶窗也是如此。
- 我监视我们的天然气用量,电力用量和产量(太阳能电池板)。
- 我可以跟踪大多数电话的位置,并在进入一个区域时开始操作,例如当我回家时打开车库灯。
- 它还可以控制我们所有的娱乐系统,例如三星电视和Sonos扬声器。
- 它能够自动发现网络上的大多数设备,因此上手起来非常容易。
如果您有兴趣将房屋自动化,请确保有机会!如果您想了解更多,请访问他们的官方网站。如果可以,请将其安装在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会解析您提供的任何内容,并为您做遍历树的工作。您可以将其告诉“查找所有链接”,或“查找带有粗体的表格标题,然后给我该文字。”
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。