80%的人都不知道,全球Python庫下載前10名

2021-02-19 菜鳥學Python

題圖:漫威宇宙英雄

Python的簡潔性,不僅僅在於其語法簡單,還有各種python庫函數的支持,為大家節省了大量的時間和精力,所以網上有人戲稱python的編程者為調包俠。但是你知道全球最受歡迎的python庫嘛?今天小編就從PYPI網站的過去365天的python庫下載量上,來看一下全球最火的22個python庫。

01.Urllib3

Urllib3在過去365天中,下載量達到了9.55億次。Urllib3是一個功能強大的,用於http客戶端的python庫,相比於python標準庫中的urllib庫,Urllib3提供了更全面的特性,包括線程安全,客戶端SSL/TLS驗證等,不僅如此,Urllib3廣泛的被其他庫依賴,有接近1200個庫依賴Urllib3庫。Urllib3的使用也非常的簡單,如下圖所示:

圖中我們創建請求對象,然後請求www.baidu.com網站的信息,輸出狀態碼和返回的數據信息。

02.six庫

six庫是對於python2和python3的兼容庫,使用six庫可以使寫的代碼不用進行修改就能在python2或者python3的環境下進行運行,如下圖所示:

我們可以看到,six庫對Python2和Python3的名字等做了統一,比如在Python2中,字符串的類型使unicode,而在python3中,字符串的類型是str,Python3叫,那麼就可以使用six.string_types的類型。如果運行在Python2上,six. string_types就是unicode,如果運行在Python3上,six. string_types就是str類型。但是由於python2已經停止維護,所以six函數庫的熱度也將會在未來下降。

03.botocore、s3transfer庫

這裡botocore和s3transfer都與亞馬遜網頁服務(AWS)支持相關。Botocore是boto3庫的基礎庫,而boto3則是允許使用者在編寫軟體時使用亞馬遜服務,例如亞馬遜的S3服務等。而s3transfer則是用於管理亞馬遜S3傳輸的python庫。因此同樣被boto3庫所依賴。

上圖所示的程序中,我們首先創建一個s3服務,然後查看所有的Bucket內容,最後我們使用s3服務上傳了一個圖片文件。

04.requests

對於requests函數庫,想必大家都不會陌生,requests庫使得我們對於網頁的請求變得很簡單。由於requests使用更加簡單,便捷,因此在實際的應用中,大家更趨向於使用requests庫而不是urllib3。

上圖中我們利用requests庫來請求百度的首頁,並輸出狀態碼和網頁原始碼。

05.python-dateutil

python-dateutil模塊是對於python內置庫datetime的擴展和增強,示例功能如下圖所示:

上述程序中,我們通過操控dateutil庫中的relativedelta來實現輸出去年的今天功能,並通過parse模塊來將字符串轉化為datetime類型的日期。

06.pip庫

大家對於python庫的安裝,想必大都用過pip進行安裝,pip是Python官方推薦的包管理工具,大家在使用pip安裝的時候,可以通過pip install <特定的包>進行在線的安裝,也可以先下載特定包的whl文件,然後通過pip install <xxx.whl>的方式,離線安裝特定的包。而進行卸載的時候,可以通過pip uninstall <特定的包>進行卸載。如下圖所示:

07.certifi庫

瀏覽器在進行網頁瀏覽的時候,需要在瀏覽器和網頁伺服器之間建立加密連接,而SSL就是用於這一用途,通過SSL連接可以保護在每次交互期間交換敏感的數據,例如我們通過某寶進行網頁交易的時候,對於密碼等信息的傳遞。

而在進行驗證的過程中,需要在客戶端安裝根證書。那麼certifi庫的作用是什麼呢,當我們去爬取網頁的時候,有時候會遇到 SSL:CERTIFICATE_VERIFY_FAILED的錯誤,這就是SSL驗證錯誤,遇到這種錯誤的話,我們可以利用certifi庫進行解決,如下圖所示。

上圖中通過certifi軟體包使用Mozilla的證書來進行證書的驗證。從而解決SSL驗證報錯的問題。

08.idna庫

idna庫在我們日常的編程中,很難遇到,因為它解決的問題我們幾乎遇不到。idna是一種在應用程式中的國際化域名協議,用於處理包含非ASCII字符的域名機制。由於瀏覽器和郵件等不支持除了ASCII碼以外的其他字符,這對於很多國家,例如咱們中國、德國、法國等非英語國家來說,非常的不方便,所以idna的主要功能就是將國際的unicode域名和ASCII字符串進行相互的轉換。如下圖所示:

上圖中我們分別實現了將國際的unicode域名轉化為ASCII字符串,並實現了逆轉換。

09.pyyaml

pyyaml庫是針對於yaml文件進行處理的庫,經常用於對於程序中的一些配置信息的讀寫和存儲。yaml同json文件類似,也是一種配置文件。下圖展示的是利用pyyaml庫對yaml文件進行讀寫操作。

10.chardet庫

對於字符串的編碼問題,一直是很難處理的一個問題,雖然python提供了str和bytes的數據類型,並且可以通過encode()和decode()方法來轉換字符串的編碼方式,但是對於不知道編碼類型的情況下,很難準確的進行解碼操作

所以chardet庫就排上了用場。chardet用來對輸出字符串的編碼類型進行判斷,並輸出編碼類型的判斷信心和字符串的語言類型。如下圖所示:

上圖中,我們可以發現,使用chardet可以很方便的進行檢測編碼。獲取到編碼後,再轉換為str類型,就可以方便的進行後續處理。

以上就是小編對於PYPI中下載量前十位的python庫的介紹,通過上面的介紹,我們可以發現,在平時的編程中,我們很少單獨import上述模塊進行編程,甚至我們都沒有聽說過上面的某些庫,而像是大家喜聞樂見的NumPy(排名23),Pandas(排名38)等庫,排名卻很靠後。這是為什麼呢?

這裡其實很好解釋,因為上述的前十下載量的python庫,都有很多的python庫需要它們的支持,雖然模塊很小,但卻是很多python庫不可缺少的依賴庫,在安裝的時候都需要被下載安裝,所以它們的下載量就會非常的多,想必大家在日常的庫安裝時,都或多或少的有些體會。

通過小編的介紹,大家可以看到python的函數庫中雖然有的不是很出名,但是卻默默的發揮著自己巨大的作用,成為python編程中不可或缺的一環。真可謂:別看模塊小,用處真不少!


近期熱門:

還在做重複的勞動,不如用Python自動生成Excel以郵件發送

獨家秘籍,50行代碼教你買哪只黃金股

簡單幾步,100行代碼用Python畫一個蝙蝠俠的logo

N年Python老司機,血淚總結新手常見10大錯誤

學Python真香!我用100行代碼做了個網站,幫人PS旅行圖片,賺個雞腿吃!

點擊閱讀原文,原創400篇乾貨文章

相關焦點

  • 每個python人都離不開的12個python庫
    Arrow我們都知道python中處理時間的庫有datetime,但是它過於簡單,使用起來不夠方便和智能,而Arrow可以說非常的方便和智能。它可以輕鬆地定位幾個小時之前的時間,可以輕鬆轉換時區時間,對於一個小時前,2個小時之內這樣人性化的信息也能夠準確解讀。
  • 慢步學習,python庫文件概述,再來點第三方庫文件安裝的乾貨
    python是一個開源項目我們知道Python一個開源的程序設計語言。但確切的說法應該是,Python是一個開源的編程項目,而這個項目由全球開發者共同開發。就像數學一樣,全球開源,有共同的規則,有共同的元素,這樣,新的數學公式的發明和應用,也是全球共享的。在python這個開源項目裡,可以共享的成果,都以庫/模塊的形式存在。
  • 慢步python,說說import,引用功能代碼(功能庫、py文件代碼)
    筆者可以直接複製之前寫的代碼,這是最笨的,對於重複次數不多的代碼來說,也是有效的。但如果一個功能代碼重複使用的次數特別多,這樣做就特別複雜了。那麼import的價值就出來了,比如引用time庫,就可以在程序內使用time庫裡面的功能代碼。
  • python機器學習:常用庫的介紹及安裝
    1、為了學習方便,建議大家安裝Anaconda(由於平臺不讓給出網站連結,所以具體連結直接百度搜一下就可以得到),為什麼建議使用這個軟體呢,因為安裝了這個軟體後本身就自帶了IPython、Numpy、pandas,scikit-learn等庫,不用你去在一步一步的去安裝其他的庫;並且該軟體兼容性不錯,可以在Mac OS, windows和linux上運行,一勞永逸,非常方便。
  • 10個被嚴重忽視的Python自帶庫
    python 的過程中,都會了解到 python 的一個強大的功能在於各種強大的第三方庫函數,大家只需要通過 pip install 即可安裝我們需要的庫函數。但通常我們更關注自己安裝的 python 庫,卻忽略了python自帶的庫或者內置函數。今天就來為大家介紹一下,十大被低估的 python 自帶庫/函數。1.
  • 2019 必知的 10 大頂級 python 庫
    如果你目前正在使用 python 進行機器學習項目,那麼你可能聽說過這一個流行的開源庫,那就是 TensorFlow。這個庫是由 Google 與 Brain Team 合作開發的,幾乎每一個 Google 的機器學習應用程式都用到了 TensorFlow。
  • 這幾個常用的python庫你需要知道
    python可以說是近幾年最火熱、最實用的、最容易上手的工具之一了。功能強大、應用廣泛,可以幫你搜集工作數據,還能幫你下載音樂,電影,於是就掀起了一波學習python的大潮,小編也毫不猶豫的加入了。但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。藉由它的幫助,你可以構建各種不同的圖標,從直方圖和散點圖到費笛卡爾坐標圖。
  • python推薦 | 面向地學領域的Python庫匯總
    •二進位:numpy可以處理二進位數據,同時藉助python內置struct模塊可以非常方便的處理二進位格式數據。上述介紹的一些庫,很多僅支持簡單的數據讀取和寫入操作,不支持更多計算操作。如果要對空間數據進行插值,可能就無法滿足了。
  • Python安裝第三方庫,Windows難安裝模塊要怎麼安裝
    有人喜歡叫庫,有人喜歡叫模塊學習python除去基礎,大部分時間都是在跟模塊打交道。所以需要知道安裝第三方庫、安裝模塊。為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件裡,這樣,每個文件包含的代碼就相對較少,很多程式語言都採用這種組織代碼的方式。在Python中,一個.py文件就稱之為一個模塊。使用模塊有什麼好處?
  • Python擴展庫安裝與常見問題解決完整指南
    圖2  使用pip命令為Anaconda3安裝擴展庫很多初學者由於不熟悉環境搭建尤其是擴展庫的安裝,浪費了大量寶貴時間。本節簡單介紹一下安裝擴展庫過程中常見的幾種問題以及相應的解決方法。如果在線安裝擴展庫失敗,一定要仔細閱讀錯誤信息,這對於解決問題是至關重要的。只有準確地知道發生了什麼錯誤,才有可能找到正確的解決方法。
  • Python常用庫大全
    下載器用來進行下載的庫.s3cmd – 一個用來管理Amazon S3 和 CloudFront 的命令行工具。 s4cmd – 超級 S3 命令行工具,性能更加強勁。 you-get – 一個 YouTube/Youku/Niconico 視頻下載器,使用 Python3 編寫。 youtube-dl – 一個小巧的命令行程序,用來下載 YouTube 視頻。 圖像處理用來操作圖像的庫.
  • 10個Python程序必備庫,介紹給大家
    Python是 一個很好入門的程式語言,現在也很火只要是開發人員都應該多多少少會去學習下python怎麼使用,它之所有很火除了語法很自由以為,還有很大量的可以使用的python庫,包括本地庫和第三方庫。然而,由於python庫太多了,因此有些很好用的庫沒有受到太多的關注也就不足為奇了。另外,專門在一個領域工作的小夥伴並不總是知道其他領域的庫對有他有什麼好處。
  • python生成詞雲時,文件名與庫名重出現的錯誤提示
    近日在vs code做一個python詞雲的練習時,編譯時出現:AttributeError: module 'wordcloud' has no attribute 'WordCloud'的提示,python3.8環境下,已經安排wordcloud
  • python網頁爬蟲實戰:PEER資料庫地震波批量下載
    今年6月TIOBE公布了最新程式語言排行榜,python繼續保持強勁的上升勢頭並一舉超越老牌程式語言C++,躍升至榜單第三名。
  • python入門:環境搭建(神器Anaconda+Vs Code)下載與配置
    衝衝衝!我們不可能每件小事都親力親為,但是我們可以使用別人已經做好的工具:python庫Python實現其強大功能的前提,就是其具有數量龐大且功能相對完善的標準庫和第三方庫。通過對庫的引用,能夠實現對不同領域業務的開發。
  • 10-python爬蟲之lxml庫
    lxml 是一種使用 Python 編寫的庫,可以迅速、靈活地處理 XML ,支持 XPath (XML Path Language)lxml
  • 數據科學中一些不常用但很有用的Python庫
    導讀提到數據科學的python包,大家想到的估計是numpy,pandas,scikit-learn之類的,這裡給大家介紹一些不常用,但是非常有用的python包,就像是痒痒撓,雖然大部分時間用不上,但是真要用起來,還是挺爽的。
  • 床前的凳子又名「春凳」,80%的人不知道它的用途
    床前的凳子又名「春凳」,80%的人不知道它的用途。最近在瀏覽讀者的私信當中,偶然發現一位朋友對我提出了這樣一條令我也需要翻閱資料來回答的問題。問題大概說是,他在豪華酒店當中住宿時,總發現自己的大床前有一條幾乎和床沿長度一樣的長凳,很困惑,不知道這個長凳是用來幹什麼的,查找網絡資料說,這個長凳在歷史上就已經有出現了,希望我能夠給予解答一下。在我的印象中,加上我後來翻閱了歷史資料,這位朋友說的對,酒店床前的長凳,在我國的古代早就出現了,它的學名叫做春凳。
  • 學習Python,這22個包怎能不掌握?
    >如今全球各個行業內 Python 的使用狀況怎麼樣呢?該庫仍在開發中,它的主頁依然不建議使用,或者使用時至少要固定版本,因為即使在小版本號之間它的API也可能會發生變化。boto3、AWS-CLI 和許多其他項目都依賴於 s3transfer。AWS 相關的庫的排名如此高,正說明了 AWS 的服務是多麼流行。4.
  • 2019年必知的10大頂級Python庫 | 網際網路數據資訊網-199IT | 中文...
    如果你目前正在使用 python 進行機器學習項目,那麼你可能聽說過這一個流行的開源庫,那就是 TensorFlow。這個庫是由 Google 與 Brain Team 合作開發的,幾乎每一個 Google 的機器學習應用程式都用到了 TensorFlow。