這15個頂級Python庫耿战,你必須要知道纽乱!

推薦:Python全棧教程!花了29980買的從入門到精通課程昆箕,分享給大家

為什么我喜歡Python?對于初學者來說租冠,這是一種簡單易學的編程語言鹏倘,另一個原因:大量開箱即用的第三方庫,正是23萬個由用戶提供的軟件包使得Python真正強大和流行顽爹。在本文中纤泵,我挑選了15個最有用的軟件包,介紹它們的功能和特點镜粤。

1. Dash

Dash是比較新的軟件包捏题,它是用純Python構建數據可視化app的理想選擇,因此特別適合處理數據的任何人肉渴。Dash是Flask公荧,Plotly.js和React.js的混合體。

2. Pygame

Pygame是SDL多媒體庫的Python裝飾器同规,SDL(Simple DirectMedia Layer)是一個跨平臺開發(fā)庫循狰,旨在提供對以下內容的低級接口:

  • 音頻

  • 鍵盤

  • 鼠標

  • 游戲桿

  • 基于OpenGL和Direct3D的圖形硬件

Pygame具有高度的可移植性窟社,幾乎可以在所有平臺和操作系統上運行。盡管它具有完善的游戲引擎绪钥,但您也可以使用此庫直接從Python腳本播放MP3文件灿里。

3. Pillow

Pillow專門用于處理圖像,您可以使用該庫創(chuàng)建縮略圖程腹,在文件格式之間轉換匣吊,旋轉,應用濾鏡寸潦,顯示圖像等等色鸳。如果您需要對許多圖像執(zhí)行批量操作,這是理想的選擇甸祭。為了快速了解它缕碎,看以下代碼示例(加載并渲染圖片):

4. Colorama

Colorama允許你在終端使用顏色,非常適合Python腳本池户,文檔簡短而有趣咏雌,可以在Colorama PyPI頁面上找到。

5. JmesPath

在Python中使用JSON非常容易校焦,因為JSON在Python字典上的映射非常好赊抖。此外,Python帶有自己出色的json庫寨典,用于解析和創(chuàng)建JSON氛雪。對我來說,這是它最好的功能之一耸成。如果我需要使用JSON报亩,可以考慮使用Python。JMESPath使Python處理JSON更加容易井氢,它允許您明確的地指定如何從JSON文檔中提取元素弦追。以下是一些基本示例,可讓您對它的功能有所了解:

6. Requests

Requests建立在世界上下載量最大的Python庫urllib3上花竞,它令Web請求變得非常簡單劲件,功能強大且用途廣泛。以下代碼示例說明requests的使用是多么簡單约急。

Requests可以完成您能想到的所有高級工作零远,例如:

  • 認證

  • 使用cookie

  • 執(zhí)行POST,PUT厌蔽,DELETE等

  • 使用自定義證書

  • 使用會話Session

  • 使用代理

7. Simplejson

Python中的本地json模塊有什么問題牵辣?沒有!實際上奴饮,Python的json是simplejson服猪。意思是供填,Python采用了simplejson的一個版本,并將其合并到每個發(fā)行版中罢猪。但是使用simplejson具有一些優(yōu)點:

  • 它適用于更多Python版本近她。

  • 它比Python隨附的版本更新頻率更高。

  • 它具有用C編寫的(可選)部分膳帕,因此非痴成樱快速。

由于這些事實危彩,您經常會在使用JSON的腳本中看到以下內容:

我將只使用默認的json攒磨,除非您特別需要:

  • 速度

  • 標準庫中沒有的東西

Simplejson比json快很多,因為它用C實現一些關鍵部分汤徽。除非您正在處理數百萬個JSON文件娩缰,否則您不會對這種速度感興趣。

8. Emoji

Emoji庫非常有意思谒府,但并非每個人都喜歡表情包拼坎,分析視角媒體數據時,Emoji包非常有用完疫。

以下是簡單的代碼示例:

9. Chardet

您可以使用chardet模塊來檢測文件或數據流的字符集泰鸡。例如,這在分析大量隨機文本時很有用壳鹤。但是盛龄,當您不知道字符集是什么時,也可以在處理遠程下載的數據時使用它芳誓。

10. Python-dateutil

python-dateutil模塊提供了對標準datetime模塊的強大擴展余舶。我的經驗是,常規(guī)的Python日期時間功能在哪里結束锹淌,而python-dateutil就出現了欧芽。您可以使用此庫做很多很棒的事情。我將這些示例限制為我發(fā)現特別有用的示例:模糊分析日志文件中的日期葛圃,例如:

有關更多功能,請參見完整文檔憎妙,例如:

  • 計算相對增量(下個月库正,明年,下周一厘唾,該月的最后一周等)和兩個給定日期對象之間的相對增量褥符。

  • 使用iCalendar規(guī)范的超集,根據重復規(guī)則計算日期抚垃。

  • tzfile文件(/ etc / localtime喷楣,/ usr / share / zoneinfo等)的時區(qū)(tzinfo)實現趟大,TZ環(huán)境字符串(所有已知格式),iCalendar格式文件铣焊,給定范圍(在相對增量的幫助下)逊朽,本地計算機 時區(qū),固定偏移時區(qū)曲伊,UTC時區(qū)和基于Windows注冊表的時區(qū)叽讳。

  • 基于奧爾森數據庫的內部最新世界時區(qū)信息。

  • 使用Western坟募,Orthodox或Julian算法計算任意一年的復活節(jié)周日日期岛蚤。

11. 進度條:progress和tqdm

這里有點作弊,因為這是兩個包懈糯,但忽略其中之一是不公平的涤妒。您可以創(chuàng)建自己的進度條,這也許很有趣赚哗,但是使用progress或tqdm程序包更快她紫,更不容易出錯。progress借助這個軟件包蜂奸,您可以輕松創(chuàng)建進度條:

tqdmtqdm的功能大致相同犁苏,但似乎是最新的。首先以gif動畫形式進行一些演示:

12. IPython

我確定您知道Python的交互式外殼扩所,這是運行Python的好方法围详。但是您也知道IPython shell嗎?如果您經常使用交互式外殼程序祖屏,但您不了解IPython助赞,則應該檢查一下!增強的IPython shell提供的一些功能包括:

  • 全面的對象自省袁勺。

  • 輸入歷史記錄雹食,跨會話持續(xù)存在。

  • 在具有自動生成的引用的會話期間緩存輸出結果期丰。

  • 制表符補全群叶,默認情況下支持python變量和關鍵字,文件名和函數關鍵字的補全钝荡。

  • “魔術”命令街立,用于控制環(huán)境并執(zhí)行許多與IPython或操作系統相關的任務。

  • 會話記錄和重新加載埠通。

  • 對pdb調試器和Python分析器的集成訪問赎离。

  • IPython的一個鮮為人知的功能:它的體系結構還允許并行和分布式計算。

IPython是Jupyter Notebook的核心端辱,它是一個開放源代碼Web應用程序梁剔,可讓您創(chuàng)建和共享包含實時代碼虽画,方程式,可視化效果和敘述文本的文檔荣病。

13. Homeassistant

我喜歡家庭自動化码撰。這對我來說是一種嗜好,但我至今仍對此深表歉意众雷,因為它現在控制著我們房屋的大部分灸拍。我使用Home Assistant將房子中的所有系統捆綁在一起。盡管它確實是一個完整的應用程序砾省,但是您也可以將其安裝為Python PyPI軟件包鸡岗。

  • 我們的大多數燈具都是自動化的,百葉窗也是如此编兄。

  • 我監(jiān)視我們的天然氣用量轩性,電力用量和產量(太陽能電池板)。

  • 我可以跟蹤大多數電話的位置狠鸳,并在進入一個區(qū)域時開始操作揣苏,例如當我回家時打開車庫燈。

  • 它還可以控制我們所有的娛樂系統件舵,例如三星電視和Sonos揚聲器卸察。

  • 它能夠自動發(fā)現網絡上的大多數設備,因此上手起來非常容易铅祸。

我已經每天使用Home Assistant已有3年了坑质,它仍處于測試階段,但這是我嘗試過的所有平臺中最好的平臺临梗。它能夠集成和控制各種設備和協議涡扼,并且都是免費和開源的。如果您有興趣將房屋自動化盟庞,請確保有機會吃沪!如果您想了解更多,請訪問他們的官方網站什猖。如果可以票彪,請將其安裝在Raspberry Pi上。到目前為止不狮,這是最簡單降铸,最安全的入門方法。我將其安裝在Docker容器內功能更強大的服務器上荤傲。

14. Flask

Flask是我的入門庫,用于創(chuàng)建快速的Web服務或簡單的網站颈渊。這是一個微框架遂黍,這意味著Flask旨在使核心保持簡單但可擴展终佛。有700多個官方和社區(qū)擴展。如果您知道自己將開發(fā)一個大型的Web應用程序雾家,則可能需要研究一個更完整的框架铃彰。該類別中最受歡迎的是Django。

15. BeautifulSoup

如果您從網站上提取了一些HTML芯咧,則需要對其進行解析以獲取實際所需的內容牙捉。Beautiful Soup是一個Python庫,用于從HTML和XML文件中提取數據敬飒。它提供了導航邪铲,搜索和修改解析樹的簡單方法。它非常強大无拗,即使損壞了带到,也能夠處理各種HTML。相信我英染,HTML經常被破壞揽惹,所以這是一個非常強大的功能。它的一些主要功能:

  • Beautiful Soup會自動將傳入文檔轉換為Unicode四康,將傳出文檔轉換為UTF-8搪搏。您無需考慮編碼。

  • Beautiful Soup位于流行的Python解析器(如lxml和html5lib)的頂部闪金,使您可以嘗試不同的解析策略或提高靈活性疯溺。

  • BeautifulSoup會解析您提供的任何內容,并為您做遍歷樹的工作毕泌。您可以將其告訴“查找所有鏈接”喝检,或“查找?guī)в写煮w的表格標題,然后給我該文字撼泛∧铀担”

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市愿题,隨后出現的幾起案子损俭,更是在濱河造成了極大的恐慌,老刑警劉巖潘酗,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杆兵,死亡現場離奇詭異,居然都是意外死亡仔夺,警方通過查閱死者的電腦和手機琐脏,發(fā)現死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人日裙,你說我怎么就攤上這事吹艇。” “怎么了昂拂?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵受神,是天一觀的道長。 經常有香客問我格侯,道長鼻听,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任联四,我火速辦了婚禮撑碴,結果婚禮上,老公的妹妹穿的比我還像新娘碎连。我一直安慰自己灰羽,他們只是感情好,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布鱼辙。 她就那樣靜靜地躺著廉嚼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪倒戏。 梳的紋絲不亂的頭發(fā)上怠噪,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音杜跷,去河邊找鬼傍念。 笑死,一個胖子當著我的面吹牛葛闷,可吹牛的內容都是我干的憋槐。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼淑趾,長吁一口氣:“原來是場噩夢啊……” “哼阳仔!你這毒婦竟也來了?” 一聲冷哼從身側響起扣泊,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤近范,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后延蟹,有當地人在樹林里發(fā)現了一具尸體评矩,經...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年阱飘,在試婚紗的時候發(fā)現自己被綠了斥杜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虱颗。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蔗喂,靈堂內的尸體忽然破棺而出乡革,到底是詐尸還是另有隱情侠姑,我是刑警寧澤捐名,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布烘跺,位于F島的核電站棋恼,受9級特大地震影響返弹,放射性物質發(fā)生泄漏。R本人自食惡果不足惜爪飘,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一义起、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧师崎,春花似錦默终、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至床估,卻和暖如春含滴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丐巫。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工谈况, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人递胧。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓碑韵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缎脾。 傳聞我的和親對象是個殘疾皇子祝闻,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內容