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 Falsewith 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
安裝: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