你必须尝试的20个 Python 库

小白学视觉

共 6420字,需浏览 13分钟

 ·

2021-01-11 13:59

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

推荐阅读

42个pycharm使用技巧,瞬间从黑铁变王者

Google C++项目编程风格指南 (中文版) 分享

Python 是编程领域中最常用的编程语言之一,也是初学者的最佳选择之一。Python 吸引人们的地方在于它的简单性和易用的语法。是一个直译语言,所以它变得更容易发现代码中的错误。它是由 Guido van Rossum 开发的,并于1991年首次发布,从那时起,Python 开发者社区的人数与日俱增,人数众多。根据一些资源,python 有一个超过1000万人的社区。谷歌、亚马逊、 Facebook 等数十亿家公司都在使用它。


在过去的一年半里我一直在使用 Python,我最喜欢 Python 的地方是它的 One-Liners 和 Packages,这也是我选择 Python 而不是其他语言的原因。


在本博客中,我将向您介绍20个非常有用的 Python 库,您必须尝试它们。让我们开始吧。


1. Colorama


Colorama 是一个用来使你的终端看起来更好 Python 库,它可以用来给终端添加颜色。


安装:pip install colorama

示例

2. Pynput


此库用于控制鼠标和键盘等外部设备的瞬间。使用一些简单的代码行,我们可以使用库来控制键盘和鼠标。此库的最佳应用程序是使用它创建一个键盘记录程序。下面的代码解释了使用库的键盘记录器的实现。


安装:pip install Pynput

from pynput.keyboard import Key, Controller,Listenerimport timekeyboard = Controller()keys=[]def on_press(key):    global keys    string = str(key).replace("'","")    keys.append(string)    main_string = "".join(keys)    print(main_string)    if len(main_string)>15:      with open('keys.txt', 'a') as f:          f.write(main_string)             keys= []     def on_release(key):    if key == Key.esc:        return False
with Listener(on_press=on_press,on_release=on_release) as listener: listener.join()

3. progress 和 tqdm


Progress使用这个库,我们可以轻松地创建一个进度条。


安装:pip 安装进度

from progress.bar import Barbar = Bar('Loading', max=20)for i in range(20):    # Any Task    bar.next()bar.finish()

下面的动画显示了我们可以使用进度创建不同的条形图。

tqdm:它也做类似的工作,但是看起来更有效率,并且与现代编程保持同步。


安装:pip install tqdm



4. google trans


Googletrans 是一个免费的无限制的 python 库,它是 Google 翻译 API 的一个实现。使用这个库,只需要几行代码就可以创建一个语言翻译器。


安装:pip install googletrans

from googletrans import Translator , LANGUAGESfrom googletrans.models import Translatedlanguage = list(LANGUAGES.values())translator = Translator()translated=translator.translate(text="How are You??", src = 'english', dest = 'hindi')print(translated)

您还可以进一步创建一个 GUI,将一种语言翻译成另一种语言。


5. google


谷歌库允许你搜索一个查询,找到相关的链接,并返回所有的链接。我们还可以自定义要返回的链接数量。


安装:pip install google

from googlesearch import searchquery = 'what is machine learning?'for j in search(query, tld="co.in", num=1, stop=5, pause=2):  ## it will return a total of 5 links    print(j)

6. Pillow


Pillow 是一个用于图像处理的 python 库。它可以用来创建缩略图,转换文件格式,旋转,应用过滤器,显示图像,等等。如果您希望批量执行任务,那么它是一个理想的库。


安装:pip install pillow


为了快速了解这个库,下面是一些代码,您可以显示一个图像并将其更改为灰度。

from PIL import Image, ImageOpsimg1 = Image.open("img.png") ## Load a imgeimg1.show()img2 = ImageOps.grayscale(img1) ## gray scaleimg2.show()

原始图像向灰度的转换

7. wikipedia


Wikipedia 库允许我们通过 Python 脚本与 Wikipedia 进行交互。通过这个,我们可以在终端上搜索任何东西。


安装:pip install wikipedia

import wikipediaquery = 'Narendra Modi'results = wikipedia.summary(query, sentences=2) ## change the number of sentence to get a larger words summaryprint(results)

8. SpeechRecognition


SpeechRecognition 是一个用于识别语音并将其转换为文本的 Python 库。它在几个引擎和 api 的支持下识别语音。它甚至可以在离线模式下工作。


安装:pip install SpeechRecognition


下面的代码可以识别您的声音,将其转换成文本,然后在终端上打印出来。

import speech_recognition as srr = sr.Recognizer()with sr.Microphone() as source:    t_end = time.time() + 5    while time.time() < t_end:        print("karl: Listening...")        audio=r.listen(source)    try:            query = r.recognize_google(audio)        print(f"user:{query}")    except"        print("Try Again")

9. IPython


这个库为我们提供了在终端、 Qt 控制台和通过 HTML 笔记本使用 IPython shell 的特性。这是木星笔记本的核心。你可以在这里找到完整的文档。下面我列出了一些 IPython 的特性。


  • 全面的对象自省

  • 输入历史记录,跨会话持久化

  • 在使用自动生成的引用的会话期间缓存输出结果

  • 可扩展选项卡完成,默认支持完成 Python 变量和关键字、文件名和函数关键字

  • 可扩展的“magic”命令系统,用于控制环境和执行与 IPython 或操作系统相关的许多任务

  • 会话日志记录和重载

  • 针对特殊情况的可扩展语法处理

  • 使用用户可扩展别名系统访问系统 shell

  • 很容易嵌入到其他 Python 程序和 GUI 中

  • 调试器和 Python 分析器的集成访问


10. wxpython

wxPython 是一个用于 python 的 GUI 工具包。它是许多计算机软件的强大包装器,可以在各种不同的平台上实现。它是一个跨平台的库。许多开发人员发现 wxPython 作为 Tkinter 的最佳替代品非常有效。


11. Poetry


这是一个简单易用的 Python 软件包。它允许您管理 Python 打包和项目的版本控制。虽然你的项目依赖于许多库,但是 Poetry 可以让你很容易地控制它们。


安装:pip install poetry


12. Pygame


Pygame 是许多 python 开发人员的最爱。它用于使用 Python 创建游戏。它是一个跨平台的库,几乎可以在每个平台上使用。尽管它是一个成熟的游戏引擎,但您也可以使用这个库直接从 Python 脚本播放 MP3文件。它由计算机图形学和声音库组成。


在 PyGame 上编写的游戏和应用程序与所有 SDL 支持的操作系统兼容。它们也可以在机器人和平板电脑上运行。


安装:pip install pygame


PyGame 有自己的网站 PyGame. org,其中包括教程和安装说明。


13. Text Blob


TextBlob 是一个用于处理文本数据的 Python 库。它提供了一个简单的 API,用于深入研究常见的自然语言处理(NLP)任务,如词性标注、名词短语提取、情感分析、分类、翻译等。


安装:pip install textblob

from textblob import TextBlobtestimonial = TextBlob("Textblob is amazingly simple to use. What great fun!")testimonial.sentiment

14. OpenCV

OpenCV 是计算机视觉领域最受欢迎的库。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 是一个高度优化的库,主要关注实时应用程序。


安装:pip install opencv-python


15. win10 toast


它是一个易于使用的 Python 库,用于显示 Windows 10 Toast Notifications,这对于 Windows GUI 开发非常有用。


安装:pip install win10toast


应用:创建提醒应用程序

from win10toast import ToastNotifier toaster = ToastNotifier()header = 'Medium Article'text = 'Its the correct time to start writing your article'toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)while toaster.notification_active(): time.sleep(0.005)   

16. playsound


顾名思义,这个库用于在 Python 中播放音频文件。


安装:pip install playsound


应用: 使用 Python 创建音乐播放器

from playsound import playsound playsound('PATH_TO_AUDIO_FILE')

17. webbrowser


这个 Python 包用于与网络浏览器交互。它用于在用户从命令行给出的浏览器中打开不同的链接。


安装:pip install webbrowser


应用:自动化你的日常工作应用

import webbrowserwebbrowser.open("https://stackoverflow.com")

18. Python-dateutil


这个 Python 库是 Python datetime 模块的扩展,它提供了大量的特性和功能。


安装:pip install python-dateutil

from dateutil.relativedelta import *from dateutil.easter import *from dateutil.rrule import *from dateutil.parser import *from datetime import *now = parse("Tue 11 17:13:46 Dec UTC 2020")today = now.date()year = rrule(YEARLY,dtstart=now,bymonth=8,bymonthday=13,byweekday=FR)[0].yearrdelta = relativedelta(easter(year), today)print("Today is: %s" % today)

19. Setuptools


这个 Python 库是 Python 中所有库的父类,它用于在 Python 中创建库。


安装:pip install setuptools


20. pyfiglet


Pyfiglet Python 库用于在终端中编写时髦的文本。这是我在创建 CLI 应用程序时最喜欢使用的软件包之一。


安装:pip install pyfiglet


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目31讲
小白学视觉公众号后台回复:Python视觉实战项目31讲即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

下载4:leetcode算法开源书
小白学视觉公众号后台回复:leetcode即可下载。每题都 runtime beats 100% 的开源好书,你值得拥有!





交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 42
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报