转载说明:原创不易,未经授权,谢绝任何形式的转载
工欲其善,必先利其器,推荐 7 个高效的 python 库
当一个库可以完成同样的事情时,你为什么要创建自定义功能?在我看来,一个好的项目会利用一些可用的最佳库。Python 是世界上使用最广泛的编程语言之一。我列出了 7 个 Python 库,它们将在您的开发之旅中提供帮助。
1. python-fire
python-fire是一个 Python 库,为命令行脚本和 Python 函数提供了自动生成 CLI 的能力。它允许您快速编写可以通过命令行直接使用的 Python 代码,并通过生成的命令行界面与该代码进行交互。您可以使用 python-fire 将任何 Python 函数转换为命令行工具,并且不需要编写大量额外的代码,它在 Github 上拥有超过 22.5k 颗星。
例如,您可以使用以下代码定义一个 Python 函数:
def hello(name='World'):print(f'Hello, {name}!')
然后,使用以下代码将其转换为命令行工具:
import firedef hello(name='World'): print(f'Hello, {name}!')if __name__ == '__main__': fire.Fire(hello)
现在,您可以在命令行中执行以下命令来使用该函数:
$ python script.py hello --name=JohnHello, John!
通过使用 python-fire,您可以快速编写可以直接在命令行中使用的 Python 代码,而不需要编写大量额外的代码。
https://github.com/google/python-fire
2. errbot
Errbot 是一个 Python 开发的开源聊天机器人框架。它支持多种聊天平台,包括 XMPP,Slack,HipChat 和更多。通过使用 Errbot,用户可以轻松地构建和部署自定义聊天机器人,以实现各种各样的功能,例如管理 IT 基础架构,执行常见任务,进行简单的问答等。它具有灵活的插件体系,允许用户定制和扩展其功能。这是开源软件,并在 GPL v3 许可下发布。它在 Github 上有超过 2500 颗星。
https://github.com/errbotio/errbot/
3. EasyOCR
EasyOCR是一个开源的OCR(Optical Character Recognition)工具,可以将图像上的文本识别为可编辑的文本。EasyOCR使用Tesseract OCR引擎作为识别核心,并具有预处理功能,可以提高识别精度。它还具有多种语言的支持(包括拉丁文、中文、阿拉伯文、梵文、西里尔文等。),可以自动识别语言,并具有语言数据的学习能力。EasyOCR可以在Windows、MacOS和Linux等平台上使用,并且支持通过命令行或者Python脚本调用。它在 Github 上拥有超过 15k 颗星。
https://github.com/JaidedAI/EasyOCR
4. face_recognition
这是用于 Python 和命令行的最简单的面部识别 API 之一,它使用 dlib 深度学习技术模型,可以快速识别给定图像中的人脸,并可以在图像中识别人脸的位置,该模型在 Labeled Faces in the Wild 基准测试中的准确率为 99.38%。除了识别人脸,它还支持识别人脸的特征,例如颜色、方向和大小。这个工具非常适合开发人脸识别应用程序,例如智能安全系统、人脸识别支付等。它可用于识别和操纵人脸它在 Github 上拥有超过 45k 颗星。
https://github.com/ageitgey/face_recognition
5. authlib
"Authlib" 是一个 Python 库,用于构建并实现各种认证协议(如 OAuth 1.0 和 OAuth 2.0)。它提供了一个通用的 API,可以用于实现认证协议,并与其他 Web 应用程序框架集成。可以说,Authlib 是一个用于处理认证和授权的工具,适用于开发人员希望添加认证功能到他们的应用程序中的情况,比如用于构建 OAuth 和 OpenID Connect 服务器的最佳 Python 库之一。它还提供对 JWS、JWK、JWA 和 JWT 的支持。该库与 Python3.6 兼容。它在 Github 上拥有超过 3k 颗星。
https://github.com/ageitgey/face_recognition
6. arrow
DateTime 是大多数开发人员需要处理的事情之一。该库将帮助您以更少的导入和更少的代码处理日期和时间。它提供了一种明智且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。它实现并更新了 DateTime 类型,填补了功能上的空白,并提供了一个支持许多常见创建场景的智能模块 API。它在 Github 上拥有超过 7.5k 颗星。
https://github.com/arrow-py/arrow
7. pyAudioAnalysis
如果您必须使用音频分析,那么这对您来说是一个很好的资源。正如您所猜到的,这个库提供了广泛的音频分析任务,如特征提取、分类、分割等。它包括许多功能,如训练、参数调整和评估音频片段的分类器、对未知声音进行分类、检测音频事件和排除长时间录音的静音期等等。它在 Github 上有超过 4k 星。
下面是一个简单的使用示例,它展示了如何从音频文件中提取声音信号的频谱:
from pyAudioAnalysis import audioBasicIOfrom pyAudioAnalysis import ShortTermFeatures[Fs, x] = audioBasicIO.readAudioFile("example.wav")F, f_names = ShortTermFeatures.feature_extraction(x, Fs, 0.050*Fs, 0.025*Fs)
在上面的代码中,我们使用 audioBasicIO 模块读取了音频文件 example.wav,然后使用 ShortTermFeatures 模块提取了频谱特征。最后,提取的特征存储在了变量 F 中。
总的来说,pyAudioAnalysis 是一个功能丰富,易于使用的音频分析工具,可以用于各种音频应用场景中。
https://github.com/tyiannak/pyAudioAnalysis
结束
今天的分享就到这里,希望对你有所帮助。如果你知道任何其他高效的 Python 工具,欢迎你在评论区补充。感谢你的阅读,如果你喜欢我的分享,别忘了点赞转发,让更多的人看到,最后别忘记了关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。