首頁 > 後端開發 > Python教學 > 整理了100個Python精選庫,建議收藏!

整理了100個Python精選庫,建議收藏!

WBOY
發布: 2023-04-11 19:27:30
轉載
1682 人瀏覽過

整理了100個Python精選庫,建議收藏!

正文

 大家好,我是Python人工智慧技術

Python為啥這麼火,這麼多人學,就是因為簡單好學,功能強大,整個社群非常活躍,資料很多。而且這語言涉及了各個方面,例如自動化測試,維運,爬蟲,數據分析,機器學習,金融領域,後端開發,雲端運算,遊戲開發都有涉及。

萬丈高樓平地起,Python這座大廈能夠如此強大,就是擁有強大的成千上萬的庫的支持,無數牛x的輪子在支持這座大廈,今天我們來一起梳理一下,俯瞰整個Python寶庫。

我大概列了一下整個Python庫的應用的方法面面,粗略算算就有20幾個方向。左右兩邊分兩個方向,左邊負責進攻(主外),每一項單獨拉出來都是精品,都是Python應用裡面拳頭產品;右邊負責守(主內),都是涉及底層的配置,算是整個大廈的地基。

下面我們挑選每個領域的精品庫,展現給大家,看完之後,你一定會大叫,WC,這麼多庫我都沒有見過~~

1 、Python大樓的底層基礎架構

環境管理

  • 管理Python 版本與環境的工具

p:非常簡單的互動式python 版本管理工具。

pyenv:簡單的 Python 版本管理工具。

Vex:可以在虛擬環境中執行指令。

virtualenv:建立獨立 Python 環境的工具。

buildout:在隔離環境初始化後使用宣告式設定管理。

套件管理

  • 管理套件和依賴的工具。

pip:Python 套件和相依性管理工具。

pip-tools:保證 Python 套件依賴關係更新的一組工具。

pipenv:Python 官方推薦的新一代套件管理工具。

poetry: 可完全取代 setup.py 的套件管理工具。

conda:跨平台,Python 二進位套件管理工具。

Curdling:管理 Python 套件的命令列工具。

wheel:Python 分發的新標準,意在取代 eggs。

分發

  • 打包為執行檔以便分發。

PyInstaller:將 Python 程式轉換成獨立的執行檔(跨平台)。

cx_Freeze:將python程式轉換為帶有一個動態連結函式庫的可執行檔。

dh-virtualenv:建置並將 virtualenv 虛擬環境作為一個 Debian 套件來發布。

Nuitka:將腳本、模組、套件編譯成可執行檔或擴充模組。

py2app:將 Python 腳本變成獨立軟體套件(Mac OS X)。

py2exe:將 Python 腳本變成獨立軟體包(Windows)。

pynsist:一個用來建立 Windows 安裝程式的工具,可以在安裝程式中打包 Python 本身。

配置

  • 是用來保存和解析配置的函式庫。

config:logging 模組作者寫的分級設定模組。

ConfigObj:INI 檔案解析器,附驗證功能。

ConfigParser:(Python 標準庫) INI 檔案解析器。

profig:透過多種格式進行配置,具有數值轉換功能。

python-decouple:將設定和程式碼完全隔離。

整理了100個Python精選庫,建議收藏!

2、Python大樓的管理設定

檔案

aiofiles:基於asyncio,提供檔案非同步操作

# imghdr:(Python 標準函式庫)偵測圖片類型

mimetypes:(Python 標準函式庫)將檔案名稱對應為MIME 類型

path.py:對os.path 進行封裝的模組

pathlib:(Python3.4 標準函式庫)跨平台的、物件導向的路徑操作函式庫

python-magic:檔案類型偵測的第三方函式庫libmagic 的Python 介面

Unipath:以物件導向的方式操作檔案和目錄

watchdog:管理檔案系統事件的API 和shell 工具

日期和時間

    ##操作日期和時間的類別庫。
arrow:更好的 Python 日期時間操作類別庫。

Chronyk:Python 3 的類別庫,用於解析手寫格式的時間和日期。

dateutil:Python datetime 模組的擴充。

delorean:解決 Python 中有關日期處理的棘手問題的函式庫。

maya:人性化的時間處理函式庫。

moment:一個用來處理時間和日期的 Python 函式庫。靈感來自 Moment.js。

pendulum:一個比 arrow 更有明確的,可預測的行為的時間操作庫。

PyTime:一個簡單易用的 Python 模組,用於透過字串來操作日期/時間。

pytz:現代以及歷史版本的世界時區定義。將時區資料庫引入 Python。

when.py:提供使用者友善的函數來幫助使用者進行常用的日期和時間操作。

文字處理

  • 用於#解析和操作文字的函式庫。
  • 通用

chardet:字元編碼偵測器,相容於 Python2 和 Python3。

difflib:(Python 標準函式庫)幫助我們進行差異化比較。

ftfy:讓 Unicode 文字更完整更連貫。

fuzzywuzzy:模糊字串匹配。

Levenshtein:快速計算編輯距離以及字串的相似度。

pangu.py:在中日韓語字元和數字字母之間加入空格。

pypinyin:漢字拼音轉換工具 Python 版。

shortuuid:一個生成器庫,用以產生簡潔的,明白的,URL 安全的 UUID。

simplejson:Python 的 JSON 編碼、解碼器。

unidecode:Unicode 文字的 ASCII 轉換形式 。

uniout:列印可讀的字符,而不是轉義的字串。

xpinyin:一個用來把漢字轉換為拼音的函式庫。

yfiglet-figlet:pyfiglet -figlet 的 Python 實作。

flashtext: 一個高效率的文字尋找替換庫。

  • Slug 化

awesome-slugify:一個 Python slug 化函式庫,可以保持 Unicode。

python-slugify:Python slug 化函式庫,可以把 unicode 轉換成 ASCII。

unicode-slugify:一個 slug 工具,可以產生 unicode slugs ,需要依賴 Django 。

  • 解析器

phonenumbers:解析,格式化,儲存,驗證電話號碼。

PLY:lex 與 yacc 解析工具的 Python 實作。

Pygments:通用語法高亮工具。

pyparsing:產生通用解析器的框架。

python-nameparser:把一個人名分解為幾個獨立的部分。

python-user-agents:瀏覽器 user agent 解析器。

sqlparse:一個無驗證的 SQL 解析器。

辦公室文字格式處理

  • 通用

tablib:用來處理中表格資料的模組。

⭐python-office:一個用來自動化辦公室的第三方函式庫。

  • Office

Marmir:把輸入的 Python 資料結構轉換成電子表單。

openpyxl:一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的函式庫。

pyexcel:提供統一 API,用來讀寫,操作 Excel 檔案的函式庫。

python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 檔案。

relatorio:模板化 OpenDocument 檔案。

unoconv:在 LibreOffice/OpenOffice 支援的任意檔案格式之間進行轉換。

XlsxWriter:一個用於建立 Excel .xlsx 檔案的 Python 模組。

xlwings:一個使得在 Excel 中方便呼叫 Python 的函式庫(反之亦然),基於 BSD 協定。

xlwt:讀取寫 Excel 檔案的資料和格式資訊。

  • PDF

PDFMiner:一個用於從 PDF 文件中抽取資訊的工具。

PyPDF2:一個可以分割,合併和轉換 PDF 頁面的庫。

ReportLab:快速建立富文本 PDF 文件。

  • Markdown

Mistune:快速且功能齊全的純 Python 實作的 Markdown 解析器。

Python-Markdown:John Gruber’s Markdown 的 Python 版實作。

Python-Markdown2:純Python 實作的Markdown 解析器,比Python-Markdown 更快,更準確

    ##YAML
PyYAML:Python 版本的YAML 解析器。

    CSV
csvkit:用於轉換和操作 CSV 的工具。

配置

    是用來保存和解析配置的函式庫。
config:logging 模組作者寫的分級設定模組。

ConfigObj:INI 檔案解析器,附驗證功能。

ConfigParser:(Python 標準庫) INI 檔案解析器。

profig:透過多種格式進行配置,具有數值轉換功能。

python-decouple:將設定和程式碼完全隔離。

命令列工具

    用於建立命令列程式的庫。
  • 命令列程式開發
asciimatics:跨平台,全螢幕終端包(即滑鼠/鍵盤輸入和彩色,定位文字輸出),完整的複雜動畫和特殊效果的高級API。

cement:Python 的命令列程式框架。

click:一個透過組合的方式來創建精美命令列介面的套件。

cliff:一個用於建立命令列程式的框架,可以建立具有多層命令的命令列程式。

clint:Python 命令列程式工具。

colorama:跨平台彩色終端文字。

docopt:Python 風格的命令列參數解析器。

Gooey:一條命令,將命令列程式變成一個 GUI 程式。

python-prompt-toolkit:一個用於建立強大的互動式命令列程式的函式庫。

python-fire:Google 出品的一個基於 Python 類別的建置命令列介面的函式庫。

Pythonpy:在命令列中直接執行任何 Python 指令。

圖片圖片圖片圖片圖片圖片

屌啊!接私活必備的 N 個開源專案!趕快收藏吧

  • 生產力工具

aws-cli:Amazon Web Services 的通用命令列介面。

bashplotlib:在終端機中進行基本繪圖。

caniusepython3:判斷是哪個專案妨礙你你移植到 Python3。

cookiecutter:從 cookiecutters(專案範本)建立專案的命令列工具。

doitlive:一個用來在終端機中進行現場演示的工具。

pyftpdlib:一個速度極快且可擴充的 Python FTP 服務函式庫。

howdoi:透過命令列取得即時的程式設計問題解答。

httpie:一個命令列 HTTP 用戶端,cURL 的替代品,易用性更好。

PathPicker:從 bash 輸出中選取檔案。

percol:在 UNIX shell 傳統管道概念中加入互動式選擇功能。

SAWS:一個加強版的 AWS 命令​​列。

thefuck:修正你先前的命令列指令。

mycli:一個 MySQL 命令列客戶端,具有自動補全和語法高亮功能。

pgcli:Postgres 命令列工具,具有自動補全和語法高亮功能。

try:一個從來沒有更簡單的命令列工具,用來試用 python 函式庫。

3、Python大樓的倉庫

資料庫

  • Python 實作的資料庫。

pickleDB:一個簡單,輕量級鍵值儲存資料庫。

PipelineDB:串流 SQL 資料庫。

TinyDB:一個微型的,面向文檔型資料庫。

ZODB:一個 Python 原生物件資料庫。一個鍵值和物件圖資料庫。

資料庫驅動程式

  • 是用來連接和操作資料庫的函式庫。
  • MySQL:awesome-mysql 系列

aiomysql:基於 asyncio 的非同步 MySQL 資料庫操作庫。

mysql-python:Python 的 MySQL 資料庫連接器。

ysqlclient:mysql-python 分支,支援 Python 3。

oursql:一個更好的 MySQL 連接器,支援原生預編譯指令和 BLOBs。

PyMySQL:純 Python MySQL 驅動,相容於 mysql-python。

  • PostgreSQL

psycopg2:Python 中最受歡迎的 PostgreSQL 適配器。

queries:psycopg2 函式庫的封裝,用來和 PostgreSQL 進行互動。

txpostgres:基於 Twisted 的非同步 PostgreSQL 驅動。

  • 其他關係型資料庫

apsw:另一個 Python SQLite 封裝。

dataset:在資料庫中儲存 Python 字典

pymssql:一個簡單的 Microsoft SQL Server 資料庫介面。

  • NoSQL 資料庫

asyncio-redis:基於 asyncio 的 redis 用戶端 (PEP 3156)。

cassandra-python-driver:Cassandra 的 Python 驅動。

HappyBase:一個為 Apache HBase 設計的,對開發者友善的函式庫。

Plyvel:一個快速且功能豐富的 LevelDB 的 Python 介面。

py2neo:Neo4j restful 介面的 Python 封裝客戶端。

pycassa:Cassandra 的 Python Thrift 驅動程式。

PyMongo:MongoDB 的官方 Python 用戶端。

redis-py:Redis 的 Python 用戶端。

telephus:基於 Twisted 的 Cassandra 用戶端。

txRedis:基於 Twisted 的 Redis 用戶端。

4、Python大樓的網路通訊

網路

  • 用於網路程式設計的函式庫。

asyncio:(Python 標準函式庫) 非同步 I/O, 事件循環, 協程以及任務。

Twisted:一個事件驅動的網路引擎。

pulsar:事件驅動的並發框架。

diesel:基於 Greenlet 的事件 I/O 框架。

pyzmq:一個 ZeroMQ 訊息庫的 Python 封裝。

Toapi:一個輕巧,簡單,快速的 Flask 庫,致力於為所有網站提供 API 服務。

txZMQ:基於 Twisted 的 ZeroMQ 訊息庫的 Python 封裝。

HTTP

  • 使用 HTTP 的函式庫。

aiohttp:基於 asyncio 的非同步 HTTP 網路庫。

requests:人性化的 HTTP 請求庫。

grequests:requests 庫 gevent ,用於非同步 HTTP 請求.

#httplib2:全面的 HTTP 用戶端庫。

treq:類似 requests 的 Python API 建構於 Twisted HTTP 用戶端之上。

urllib3:一個具有線程安全連接池,支援檔案 post,清晰友好的 HTTP 庫。

WebSocket 幫助使用 WebSocket 的函式庫。另外,搜尋公眾號Linux就該這樣學後台回复“猴子”,獲取一份驚喜禮包。

AutobahnPython:給 Python 、使用的 WebSocket & WAMP 是基於 Twisted 和 asyncio。

Crossbar:開源統一應用程式路由(Websocket & WAMP for Python on Autobahn)。

django-socketio:給 Django 用的 WebSockets。

WebSocket-for-Python:為 Python2/3 以及 PyPy 編寫的 WebSocket 用戶端和伺服器程式庫。

WSGI 伺服器

  • 相容 WSGI 的 web 伺服器

gunicorn:Pre-forked, 部分是由 C 語言編寫的。

uwsgi:uwsgi 專案的目的是開發一組全端工具,用來建立託管服務, 由 C 語言編寫。

bjoern:非同步,非常快速,由 C 語言編寫。

fapws3:非同步 (僅對於網路端),由 C 語言編寫。

meinheld:非同步,部分是由 C 語言編寫的。

netius:非同步,非常快速。

paste:多線程,穩定,久經考驗。

rocket:多執行緒。

waitress:多執行緒, 是它驅動著 Pyramid 框架。

Werkzeug:一個 WSGI 工具庫,驅動著 Flask ,而且可以很方便大嵌入到你的專案中去。

Web 框架

  • 全端 Web 框架。

Django:Python 界最受歡迎的 web 框架。

Flask:一個 Python 微型框架。

pyramid:一個小巧,快速,接地氣的開源 Python web 框架。

Bottle:一個快速小巧,輕量級的 WSGI 微型 web 框架。

CherryPy:一個極簡的 Python web 框架,服從 HTTP/1.1 協定且具有 WSGI 執行緒池。

TurboGears:一個可以擴展為全端解決方案的微型框架。

Tornado:一個 web 框架和非同步網路庫。

sanic:基於 Python3.5 的非同步網路框架。

starlette: 一款輕量級,高效能的 ASGI 框架

電子商務

  • 用於電子商務以及支付的框架和函式庫。

django-oscar:一個用於 Django 的開源的電子商務框架。

django-shop:一個基於 Django 的店鋪系統。

Cartridge:一個基於 Mezzanine 建立的購物車應用程式。

shoop:一個基於 Django 的開源電子商務平台。

alipay:非官方的 Python 支付寶 API。

merchant:一個可以接收來自多種支付平台支付的 Django 應用程式。

money:一個貨幣類別庫。具有可選的 CLDR 後端本地化格式,提供可擴展的貨幣兌換解決方案。

python-currencies:顯示貨幣格式以及它的數值。

RESTful API

  • 用來開發RESTful APIs 的函式庫
  • Django

django-rest-framework:一個強大又靈活的工具,用來建構web API。

django-tastypie:為 Django 應用程式開發 API。

django-formapi:為 Django 的表單驗證,建立 JSON APIs 。

  • Flask

flask-api:為 flask 開發的,可瀏覽 Web APIs 。

flask-restful:為 flask 快速建立 REST APIs 。

flask-restless:為 SQLAlchemy 定義的資料庫模型建立 RESTful APIs 。

flask-api-utils:為 Flask 處理 API 表示和驗證。

eve:REST API 框架,由 Flask, MongoDB 等驅動。

  • Pyramid

cornice:一個 Pyramid 的 REST 框架 。

  • 與框架無關的

falcon:用來建立雲端 API 和 web app 後端的高效能框架。

sandman:為現存的資料庫驅動系統自動建立 REST APIs 。

restless:框架無關的 REST 框架 ,基於從 Tastypie 學到的知識。

ripozo:快速建立 REST/HATEOAS/Hypermedia APIs。

模板引擎

  • 模板產生和詞法解析的函式庫和工具。

Jinja2:一個現代的,對設計師友善的模板引擎。

Chameleon:一個 HTML/XML 範本引擎。模仿了 ZPT(Zope Page Templates), 進行了速度上的最佳化。

Genshi:Python 模板工具,用於產生 web 感知的結果。

Mako:Python 平台的超高速輕量級模板。

佇列

  • 處理事件以及任務佇列的函式庫。

celery:一個非同步任務佇列/作業佇列,基於分散式訊息傳遞。

huey:小型多執行緒任務佇列。

mrq:Mr. Queue -一個 Python 的分散式 worker 任務佇列, 使用 Redis 和 gevent。

rq:簡單的 Python 作業佇列。

simpleq:一個簡單的,可無限擴張的,基於亞馬遜 SQS 的佇列。

搜尋

  • 對資料進行索引和執行搜尋查詢的程式庫和軟體。

django-haystack:Django 模組化搜尋。

elasticsearch-py:Elasticsearch 的官方底層 Python 用戶端。

elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 用戶端。

solrpy:solr 的 Python 用戶端。

Whoosh:一個快速的純 Python 搜尋引擎庫。

電子郵件

  • 是用來傳送和解析電子郵件的函式庫。

django-celery-ses:帶有 AWS SES 和 Celery 的 Django email 後端。

envelopes:供人類使用的電子郵件庫。

flanker:一個 email 位址和 Mime 解析函式庫。

imbox:Python IMAP 函式庫。

inbox.py:Python SMTP 伺服器。

inbox:一個開源電子郵件工具箱。

lamson:Python 風格的 SMTP 應用程式伺服器。

mailjet:Mailjet API 實現,用來提供批次發送郵件,統計等功能。

marrow.mailer:高效能可擴充郵件分發框架。

modoboa:一個郵件託管和管理平台,具有現代的、簡約的 Web UI。

pyzmail:創建,發送和解析電子郵件。

Talon:Mailgun 函式庫,用來抽取資訊和簽名。

yagmail:yagmail是一個GMAIL / SMTP用戶端,旨在使其盡可能簡單地發送電子郵件。

URL 處理

  • 解析 URLs 的函式庫

furl:一個讓處理 URL 更簡單小型 Python 函式庫。

purl:一個簡單的,不可變的 URL 類,具有簡潔的 API 來進行詢問和處理。

pyshorteners:一個純 Python URL 縮短函式庫。

shorturl:產生短小 URL 和類似 bit.ly 短鏈的 Python 實作。

webargs:一個解析 HTTP 請求參數的函式庫,內建對流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。

5、Python大樓的動力系統

進程

  • 作業系統進程啟動及通訊庫。

envoy:比 Python subprocess 模組更人性化。

sarge:另一 種 subprocess 模組的封裝。

sh:一個完整的 subprocess 替代函式庫。

並發和並行

  • 用以進行並發和並行操作的函式庫。

multiprocessing:(Python 標準函式庫) 基於進程的「執行緒」介面。

threading:(Python 標準函式庫)更高層的執行緒介面。

eventlet:支援 WSGI 的非同步框架。

gevent:一個基於協程的 Python 網路庫,使用 greenlet。

Tomorrow:用於產生非同步程式碼的神奇的裝飾器語法實作。

uvloop:在 libuv 之上超快速實作 asyncio 事件循環。

整理了100個Python精選庫,建議收藏!

不看不知道,一看真的是大吃一驚,Python的函式庫真的太多太多了。以上100多庫只是Python帝國大廈的一部分,負責建造大廈的內部基石。後面小F會繼續介紹Python應用的庫大全,敬請期待。

歡迎有需要的同學試試,如果本文對您有幫助,也請幫忙點個 讚 在看 啦! ❤️

在 GitHub猿 還有更多優質專案系統學習資源,歡迎分享給其他同學!

以上是整理了100個Python精選庫,建議收藏!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板