作者:Erik van Baaren
譯者:資料黑客
原文鏈接:https://medium.com/tech-explained/top-15-python-packages-you-must-try-c6a877ed3cd0
為什么我喜歡Python?對于初學者來說,這是一種簡單易學的編程語言,另一個原因:大量開箱即用的第三方庫,正是23萬個由用戶提供的軟體包使得Python真正強大和流行,
在本文中,我挑選了15個最有用的軟體包,介紹它們的功能和特點,
1. Dash
Dash是比較新的軟體包,它是用純Python構建資料可視化app的理想選擇,因此特別適合處理資料的任何人,Dash是Flask,Plotly.js和React.js的混合體,
2. Pygame
Pygame是SDL多媒體庫的Python裝飾器,SDL(Simple DirectMedia Layer)是一個跨平臺開發庫,旨在提供對以下內容的低級介面:
音頻
鍵盤
滑鼠
游戲桿
基于OpenGL和Direct3D的圖形硬體
Pygame具有高度的可移植性,幾乎可以在所有平臺和作業系統上運行,盡管它具有完善的游戲引擎,但您也可以使用此庫直接從Python腳本播放MP3檔案,
3. Pillow
Pillow專門用于處理影像,您可以使用該庫創建縮略圖,在檔案格式之間轉換,旋轉,應用濾鏡,顯示影像等等,如果您需要對許多影像執行批量操作,這是理想的選擇,
為了快速了解它,看以下代碼示例(加載并渲染圖片):
4. Colorama
Colorama允許你在終端使用顏色,非常適合Python腳本,檔案簡短而有趣,可以在Colorama PyPI頁面上找到,
5. JmesPath
在Python中使用JSON非常容易,因為JSON在Python字典上的映射非常好,此外,Python帶有自己出色的json庫,用于決議和創建JSON,對我來說,這是它最好的功能之一,如果我需要使用JSON,可以考慮使用Python,
JMESPath使Python處理JSON更加容易,它允許您明確的地指定如何從JSON檔案中提取元素,以下是一些基本示例,可讓您對它的功能有所了解:
6. Requests
Requests建立在世界上下載量最大的Python庫urllib3上,它令Web請求變得非常簡單,功能強大且用途廣泛,
以下代碼示例說明requests的使用是多么簡單,
Requests可以完成您能想到的所有高級作業,例如:
認證
使用cookie
執行POST,PUT,DELETE等
使用自定義證書
使用會話Session
使用代理
7. Simplejson
Python中的本地json模塊有什么問題?沒有!實際上,Python的json是simplejson,意思是,Python采用了simplejson的一個版本,并將其合并到每個發行版中,但是使用simplejson具有一些優點:
它適用于更多Python版本,
它比Python隨附的版本更新頻率更高,
它具有用C撰寫的(可選)部分,因此非常快速,
由于這些事實,您經常會在使用JSON的腳本中看到以下內容:
我將只使用默認的json,除非您特別需要:
速度
標準庫中沒有的東西
Simplejson比json快很多,因為它用C實作一些關鍵部分,除非您正在處理數百萬個JSON檔案,否則您不會對這種速度感興趣,
8. Emoji
Emoji庫非常有意思,但并非每個人都喜歡表情包,分析視角媒體資料時,Emoji包非常有用,
以下是簡單的代碼示例:
9. Chardet
您可以使用chardet模塊來檢測檔案或資料流的字符集,例如,這在分析大量隨機文本時很有用,但是,當您不知道字符集是什么時,也可以在處理遠程下載的資料時使用它,
10. Python-dateutil
python-dateutil模塊提供了對標準datetime模塊的強大擴展,我的經驗是,常規的Python日期時間功能在哪里結束,而python-dateutil就出現了,
您可以使用此庫做很多很棒的事情,我將這些示例限制為我發現特別有用的示例:模糊分析日志檔案中的日期,例如:
有關更多功能,請參見完整檔案,例如:
計算相對增量(下個月,明年,下周一,該月的最后一周等)和兩個給定日期物件之間的相對增量,
使用iCalendar規范的超集,根據重復規則計算日期,
tzfile檔案(/ etc / localtime,/ usr / share / zoneinfo等)的時區(tzinfo)實作,TZ環境字串(所有已知格式),iCalendar格式檔案,給定范圍(在相對增量的幫助下),本地計算機 時區,固定偏移時區,UTC時區和基于Windows注冊表的時區,
基于奧爾森資料庫的內部最新世界時區資訊,
使用Western,Orthodox或Julian演算法計算任意一年的復活節周日日期,
11. 進度條:progress和tqdm
這里有點作弊,因為這是兩個包,但忽略其中之一是不公平的,
您可以創建自己的進度條,這也許很有趣,但是使用progress或tqdm程式包更快,更不容易出錯,
progress
借助這個軟體包,您可以輕松創建進度條:
tqdm
tqdm的功能大致相同,但似乎是最新的,首先以gif影片形式進行一些演示:
12. IPython
我確定您知道Python的互動式外殼,這是運行Python的好方法,但是您也知道IPython shell嗎?如果您經常使用互動式外殼程式,但您不了解IPython,則應該檢查一下!
增強的IPython shell提供的一些功能包括:
全面的物件自省,
輸入歷史記錄,跨會話持續存在,
在具有自動生成的參考的會話期間快取輸出結果,
制表符補全,默認情況下支持python變數和關鍵字,檔案名和函式關鍵字的補全,
“魔術”命令,用于控制環境并執行許多與IPython或作業系統相關的任務,
會話記錄和重新加載,
對pdb除錯器和Python分析器的集成訪問,
IPython的一個鮮為人知的功能:它的體系結構還允許并行和分布式計算,
IPython是Jupyter Notebook的核心,它是一個開放源代碼Web應用程式,可讓您創建和共享包含實時代碼,方程式,可視化效果和敘述文本的檔案,
13. Homeassistant
我喜歡家庭自動化,這對我來說是一種嗜好,但我至今仍對此深表歉意,因為它現在控制著我們房屋的大部分,我使用Home Assistant將房子中的所有系統捆綁在一起,盡管它確實是一個完整的應用程式,但是您也可以將其安裝為Python PyPI軟體包,
我們的大多數燈具都是自動化的,百葉窗也是如此,
我監視我們的天然氣用量,電力用量和產量(太陽能電池板),
我可以跟蹤大多數電話的位置,并在進入一個區域時開始操作,例如當我回家時打開車庫燈,
它還可以控制我們所有的娛樂系統,例如三星電視和Sonos揚聲器,
它能夠自動發現網路上的大多數設備,因此上手起來非常容易,
我已經每天使用Home Assistant已有3年了,它仍處于測驗階段,但這是我嘗試過的所有平臺中最好的平臺,它能夠集成和控制各種設備和協議,并且都是免費和開源的,
如果您有興趣將房屋自動化,請確保有機會!如果您想了解更多,請訪問他們的官方網站,如果可以,請將其安裝在Raspberry Pi上,到目前為止,這是最簡單,最安全的入門方法,我將其安裝在Docker容器內功能更強大的服務器上,
14. Flask
Flask是我的入門庫,用于創建快速的Web服務或簡單的網站,這是一個微框架,這意味著Flask旨在使核心保持簡單但可擴展,有700多個官方和社區擴展,
如果您知道自己將開發一個大型的Web應用程式,則可能需要研究一個更完整的框架,該類別中最受歡迎的是Django,
15. BeautifulSoup
如果您從網站上提取了一些HTML,則需要對其進行決議以獲取實際所需的內容,Beautiful Soup是一個Python庫,用于從HTML和XML檔案中提取資料,它提供了導航,搜索和修改決議樹的簡單方法,它非常強大,即使損壞了,也能夠處理各種HTML,相信我,HTML經常被破壞,所以這是一個非常強大的功能,
它的一些主要功能:
Beautiful Soup會自動將傳入檔案轉換為Unicode,將傳出檔案轉換為UTF-8,您無需考慮編碼,
Beautiful Soup位于流行的Python決議器(如lxml和html5lib)的頂部,使您可以嘗試不同的決議策略或提高靈活性,
BeautifulSoup會決議您提供的任何內容,并為您做遍歷樹的作業,您可以將其告訴“查找所有鏈接”,或“查找帶有粗體的表格標題,然后給我該文字,”
- END -
本文為轉載分享&推薦閱讀,若侵權請聯系后臺洗掉
-----------------
長按識別下方二維碼,并關注公眾號
1.回復“PY”領取1GB Python資料分析資料
2.回復“BG”領取3GB 名企資料分析報告
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/242902.html
標籤:其他
上一篇:超實用的瀏覽器插件|CSDN插件(快速搜索引擎、去廣告、各種網頁開發插件)
下一篇:Vue+element-ui檔案上傳阿里云oss+預覽word 、excel、ppt、pdf、png、jpg檔案
