你必須嘗試的20個 Python 庫
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
推薦閱讀
Python 是編程領(lǐng)域中最常用的編程語言之一,也是初學者的最佳選擇之一。Python 吸引人們的地方在于它的簡單性和易用的語法。是一個直譯語言,所以它變得更容易發(fā)現(xiàn)代碼中的錯誤。它是由 Guido van Rossum 開發(fā)的,并于1991年首次發(fā)布,從那時起,Python 開發(fā)者社區(qū)的人數(shù)與日俱增,人數(shù)眾多。根據(jù)一些資源,python 有一個超過1000萬人的社區(qū)。谷歌、亞馬遜、 Facebook 等數(shù)十億家公司都在使用它。
在過去的一年半里我一直在使用 Python,我最喜歡 Python 的地方是它的 One-Liners 和 Packages,這也是我選擇 Python 而不是其他語言的原因。
在本博客中,我將向您介紹20個非常有用的 Python 庫,您必須嘗試它們。讓我們開始吧。
1. Colorama
Colorama?是一個用來使你的終端看起來更好 Python 庫,它可以用來給終端添加顏色。
安裝:pip install colorama
示例
2. Pynput
此庫用于控制鼠標和鍵盤等外部設備的瞬間。使用一些簡單的代碼行,我們可以使用庫來控制鍵盤和鼠標。此庫的最佳應用程序是使用它創(chuàng)建一個鍵盤記錄程序。下面的代碼解釋了使用庫的鍵盤記錄器的實現(xiàn)。
安裝:pip install Pynput
from pynput.keyboard import Key, Controller,Listenerimport timekeyboard = Controller()keys=[]def on_press(key):global keysstring = 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 Falsewith Listener(on_press=on_press,on_release=on_release) as listener:listener.join()
3. progress 和 tqdm
Progress:使用這個庫,我們可以輕松地創(chuàng)建一個進度條。
安裝:pip 安裝進度
from progress.bar import Barbar = Bar('Loading', max=20)for i in range(20):# Any Taskbar.next()bar.finish()
下面的動畫顯示了我們可以使用進度創(chuàng)建不同的條形圖。

tqdm:它也做類似的工作,但是看起來更有效率,并且與現(xiàn)代編程保持同步。
安裝:pip install tqdm
4. google trans
Googletrans?是一個免費的無限制的 python 庫,它是 Google 翻譯 API 的一個實現(xiàn)。使用這個庫,只需要幾行代碼就可以創(chuàng)建一個語言翻譯器。
安裝: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)
您還可以進一步創(chuàng)建一個 GUI,將一種語言翻譯成另一種語言。
5. google
谷歌庫允許你搜索一個查詢,找到相關(guān)的鏈接,并返回所有的鏈接。我們還可以自定義要返回的鏈接數(shù)量。
安裝: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 linksprint(j)
6. Pillow
Pillow 是一個用于圖像處理的 python 庫。它可以用來創(chuàng)建縮略圖,轉(zhuǎn)換文件格式,旋轉(zhuǎn),應用過濾器,顯示圖像,等等。如果您希望批量執(zhí)行任務,那么它是一個理想的庫。
安裝:pip install pillow
為了快速了解這個庫,下面是一些代碼,您可以顯示一個圖像并將其更改為灰度。
from PIL import Image, ImageOpsimg1 = Image.open("img.png") ## Load a imgeimg1.show()img2 = ImageOps.grayscale(img1) ## gray scaleimg2.show()

原始圖像向灰度的轉(zhuǎn)換
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 是一個用于識別語音并將其轉(zhuǎn)換為文本的 Python 庫。它在幾個引擎和 api 的支持下識別語音。它甚至可以在離線模式下工作。
安裝:pip install SpeechRecognition
下面的代碼可以識別您的聲音,將其轉(zhuǎn)換成文本,然后在終端上打印出來。
import speech_recognition as srr = sr.Recognizer()with sr.Microphone() as source:t_end = time.time() + 5while 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 的特性。
全面的對象自省
輸入歷史記錄,跨會話持久化
在使用自動生成的引用的會話期間緩存輸出結(jié)果
可擴展選項卡完成,默認支持完成 Python 變量和關(guān)鍵字、文件名和函數(shù)關(guān)鍵字
可擴展的“magic”命令系統(tǒng),用于控制環(huán)境和執(zhí)行與 IPython 或操作系統(tǒng)相關(guān)的許多任務
會話日志記錄和重載
針對特殊情況的可擴展語法處理
使用用戶可擴展別名系統(tǒng)訪問系統(tǒng) shell
很容易嵌入到其他 Python 程序和 GUI 中
調(diào)試器和 Python 分析器的集成訪問
10. wxpython

wxPython 是一個用于 python 的 GUI 工具包。它是許多計算機軟件的強大包裝器,可以在各種不同的平臺上實現(xiàn)。它是一個跨平臺的庫。許多開發(fā)人員發(fā)現(xiàn) wxPython 作為 Tkinter 的最佳替代品非常有效。
11. Poetry
這是一個簡單易用的 Python 軟件包。它允許您管理 Python 打包和項目的版本控制。雖然你的項目依賴于許多庫,但是 Poetry 可以讓你很容易地控制它們。
安裝:pip install poetry

12. Pygame
Pygame 是許多 python 開發(fā)人員的最愛。它用于使用 Python 創(chuàng)建游戲。它是一個跨平臺的庫,幾乎可以在每個平臺上使用。盡管它是一個成熟的游戲引擎,但您也可以使用這個庫直接從 Python 腳本播放 MP3文件。它由計算機圖形學和聲音庫組成。
在 PyGame 上編寫的游戲和應用程序與所有 SDL 支持的操作系統(tǒng)兼容。它們也可以在機器人和平板電腦上運行。
安裝:pip install pygame
PyGame 有自己的網(wǎng)站 PyGame. org,其中包括教程和安裝說明。
13. Text Blob
TextBlob 是一個用于處理文本數(shù)據(jù)的 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 是計算機視覺領(lǐng)域最受歡迎的庫。它最初是用 C 和 C++ 編寫的?,F(xiàn)在也可以在 Python 中使用。它最初是由英特爾開發(fā)的。該庫是一個跨平臺的開源庫。免費使用。OpenCV 是一個高度優(yōu)化的庫,主要關(guān)注實時應用程序。
安裝:pip install opencv-python
15. win10 toast
它是一個易于使用的 Python 庫,用于顯示 Windows 10 Toast Notifications,這對于 Windows GUI 開發(fā)非常有用。
安裝:pip install win10toast
應用:創(chuàng)建提醒應用程序
from win10toast import ToastNotifiertoaster = 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 創(chuàng)建音樂播放器
from playsound import playsoundplaysound('PATH_TO_AUDIO_FILE')
17. webbrowser
這個 Python 包用于與網(wǎng)絡瀏覽器交互。它用于在用戶從命令行給出的瀏覽器中打開不同的鏈接。
安裝: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 中創(chuàng)建庫。
安裝:pip install setuptools
20. pyfiglet
Pyfiglet Python 庫用于在終端中編寫時髦的文本。這是我在創(chuàng)建 CLI 應用程序時最喜歡使用的軟件包之一。
安裝:pip install pyfiglet

交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


