一些有用的Python庫

weixin_34007291發表於2018-12-17

一些有用的Python庫

環境管理

管理 Python 版本和環境的工具

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

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

  • Vex – 可以在虛擬環境中執行命令。

  • virtualenv – 建立獨立 Python 環境的工具。

  • virtualenvwrapper- virtualenv 的一組擴充套件。

包管理

管理包和依賴的工具

  • pip – Python 包和依賴關係管理工具。

  • pip-tools – 保證 Python 包依賴關係更新的一組工具。

  • conda – 跨平臺,Python 二進位制包管理工具。

  • Curdling – 管理 Python 包的命令列工具。

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

包倉庫

本地 PyPI 倉庫服務和代理。

  • warehouse – 下一代 PyPI。

  • Warehousebandersnatch – PyPA 提供的 PyPI 映象工具。

  • devpi – PyPI 服務和打包/測試/分發工具。

  • localshop – 本地 PyPI 服務(自定義包並且自動對 PyPI 映象)。

分發

打包為可執行檔案以便分發。

  • PyInstaller – 將 Python 程式轉換成獨立的執行檔案(跨平臺)。

  • dh-virtualenv – 構建並將 virtualenv 虛擬環境作為一個 Debian 包來發布。

  • Nuitka – 將指令碼、模組、包編譯成可執行檔案或擴充套件模組。

  • py2app – 將 Python 指令碼變為獨立軟體包(Mac OS X)。

  • py2exe – 將 Python 指令碼變為獨立軟體包(Windows)。

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

構建工具

將原始碼編譯成軟體。

  • buildout – 一個構建系統,從多個元件來建立,組裝和部署應用。

  • BitBake – 針對嵌入式 Linux 的類似 make 的構建工具。

  • fabricate – 對任何語言自動找到依賴關係的構建工具。

  • PlatformIO – 多平臺命令列構建工具。

  • PyBuilder – 純 Python 實現的持續化構建工具。

  • SCons – 軟體構建工具。

互動式解析器

互動式 Python 解析器。

  • IPython – 功能豐富的工具,非常有效的使用互動式 Python。

  • bpython- 介面豐富的 Python 解析器。

  • ptpython – 高階互動式Python解析器, 構建於python-prompt-toolkit 之上。

檔案管理和 MIME(多用途的網際郵件擴充協議)型別檢測。

  • 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 中有關日期處理的棘手問題的庫。

  • moment – 一個用來處理時間和日期的Python庫。靈感來自於Moment.js。

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

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

  • when.py – 提供使用者友好的函式來幫助使用者進行常用的日期和時間操作。

文字處理

用於解析和操作文字的庫。

  1. 通用
  • chardet – 字元編碼檢測器,相容 Python2 和 Python3。

  • difflib – (Python 標準庫)幫助我們進行差異化比較。

  • ftfy – 讓Unicode文字更完整更連貫。

  • fuzzywuzzy – 模糊字串匹配。

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

  • pangu.py – 在中日韓語字元和數字字母之間新增空格。

  • pyfiglet -figlet 的 Python實現。

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

  • unidecode – Unicode 文字的 ASCII 轉換形式 。

  • uniout – 列印可讀的字元,而不是轉義的字串。

  • xpinyin – 一個用於把漢字轉換為拼音的庫。

  1. Slug化
  • awesome-slugify – 一個 Python slug 化庫,可以保持 Unicode。

  • python-slugify – Python slug 化庫,可以把 unicode 轉化為 ASCII。

  • unicode-slugify – 一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。

  1. 解析器
  • phonenumbers – 解析,格式化,儲存,驗證電話號碼。

  • PLY – lex 和 yacc 解析工具的 Python 實現。

  • Pygments – 通用語法高亮工具。

  • pyparsing – 生成通用解析器的框架。

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

  • python-user-agents – 瀏覽器 user agent 解析器。

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

特殊文字格式處理

  • 一些用來解析和操作特殊文字格式的庫。
  1. 通用
    tablib – 一個用來處理中表格資料的模組。

  2. Office

  • Marmir – 把輸入的Python 資料結構轉換為電子表單。

  • openpyxl – 一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的庫。

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

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

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

  • xlwings – 一個使得在 Excel 中方便呼叫 Python 的庫(反之亦然),基於 BSD 協議。

  • xlwt / xlrd – 讀寫 Excel 檔案的資料和格式資訊。

  • relatorio – 模板化OpenDocument 檔案。

  1. PDF
  • PDFMiner – 一個用於從PDF文件中抽取資訊的工具。

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

  • ReportLab – 快速建立富文字 PDF 文件。

  1. Markdown
  • Mistune – 快速並且功能齊全的純 Python 實現的 Markdown 解析器。

  • Python-Markdown – John Gruber’s Markdown 的 Python 版實現。

  1. YAML
  • PyYAML – Python 版本的 YAML 解析器。
  1. CSV
  • csvkit – 用於轉換和操作 CSV 的工具。
  1. Archive
  • unp – 一個用來方便解包歸檔檔案的命令列工具。

自然語言處理

用來處理人類語言的庫。

  • NLTK – 一個先進的平臺,用以構建處理人類語言資料的 Python 程式。

  • jieba – 中文分詞工具。

  • langid.py – 獨立的語言識別系統。

  • Pattern – Python 網路資訊挖掘模組。

  • SnowNLP – 一個用來處理中文文字的庫。

  • TextBlob – 為進行普通自然語言處理任務提供一致的 API。

  • TextGrocery – 一簡單高效的短文字分類工具,基於 LibLinear 和 Jieba。

文件

用以生成專案文件的庫。

  • Sphinx – Python 文件生成器。

  • awesome-sphinxdoc

  • MkDocs – 對 Markdown 友好的文件生成器。

  • pdoc – 一個可以替換Epydoc 的庫,可以自動生成 Python 庫的 API 文件。

  • Pycco – 文學程式設計(literate-programming)風格的文件生成器。

配置

用來儲存和解析配置的庫。

  • config – logging 模組作者寫的分級配置模組。

  • ConfigObj – INI 檔案解析器,帶驗證功能。

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

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

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

命令列工具

用於建立命令列程式的庫。

  1. 命令列程式開發
  • cement – Python 的命令列程式框架。

  • click – 一個通過組合的方式來建立精美命令列介面的包。

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

  • clint – Python 命令列程式工具。

  • colorama – 跨平臺彩色終端文字。

  • docopt – Python 風格的命令列引數解析器。

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

  • python-prompt-toolkit – 一個用於構建強大的互動式命令列程式的庫。

  1. 生產力工具
  • aws-cli – Amazon Web Services 的通用命令列介面。

  • bashplotlib – 在終端中進行基本繪圖。

  • caniusepython3 – 判斷是哪個專案妨礙你你移植到 Python 3。

  • cookiecutter – 從 cookiecutters(專案模板)建立專案的一個命令列工具。

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

  • howdoi – 通過命令列獲取即時的程式設計問題解答。

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

  • PathPicker – 從bash輸出中選出檔案。

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

  • SAWS – 一個加強版的 AWS 命令列。

  • thefuck – 修正你之前的命令列指令。

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

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

下載器

用來進行下載的庫.

  • s3cmd – 一個用來管理Amazon S3 和 CloudFront 的命令列工具。

  • s4cmd – 超級 S3 命令列工具,效能更加強勁。

  • you-get – 一個 YouTube/Youku/Niconico 視訊下載器,使用 Python3 編寫。

  • youtube-dl – 一個小巧的命令列程式,用來下載 YouTube 視訊。

影象處理

用來操作影象的庫.

  • pillow – Pillow 是一個更加易用版的 PIL。

  • hmap – 影象直方圖對映。

  • imgSeek – 一個使用視覺相似性搜尋一組圖片集合的專案。

  • nude.py – 裸體檢測。

  • pyBarcode – 不借助 PIL 庫在 Python 程式中生成條形碼。

  • pygram – 類似 Instagram 的影象濾鏡。

  • python-qrcode – 一個純 Python 實現的二維碼生成器。

  • Quads – 基於四叉樹的計算機藝術。

  • scikit-image – 一個用於(科學)影象處理的 Python 庫。

  • thumbor – 一個小型影象服務,具有剪裁,尺寸重設和翻轉功能。

  • wand – MagickWand的Python 繫結。MagickWand 是 ImageMagick的 C API 。

OCR

光學字元識別庫。

  • pyocr – Tesseract 和 Cuneiform 的一個封裝(wrapper)。

  • pytesseract – Google Tesseract OCR 的另一個封裝(wrapper)。

  • python-tesseract – Google Tesseract OCR 的一個包裝類。

音訊

用來操作音訊的庫

  • audiolazy -Python 的數字訊號處理包。

  • audioread – 交叉庫 (GStreamer + Core Audio + MAD + FFmpeg) 音訊解碼。

  • beets – 一個音樂庫管理工具及 MusicBrainz 標籤新增工具

  • dejavu – 音訊指紋提取和識別

  • django-elastic-transcoder – Django + Amazon Elastic Transcoder。

  • eyeD3 – 一個用來操作音訊檔案的工具,具體來講就是包含 ID3 元資訊的 MP3 檔案。

  • id3reader – 一個用來讀取 MP3 後設資料的 Python 模組。

  • m3u8 – 一個用來解析 m3u8 檔案的模組。

  • mutagen – 一個用來處理音訊後設資料的 Python 模組。

  • pydub – 通過簡單、簡潔的高層介面來操作音訊檔案。

  • pyechonest – Echo Nest API 的 Python 客戶端

  • talkbox – 一個用來處理演講/訊號的 Python 庫

  • TimeSide – 開源 web 音訊處理框架。

  • tinytag – 一個用來讀取MP3, OGG, FLAC 以及 Wave 檔案音樂後設資料的庫。

  • mingus – 一個高階音樂理論和曲譜包,支援 MIDI 檔案和回放功能。

視訊

用來操作視訊和GIF的庫。

  • moviepy – 一個用來進行基於指令碼的視訊編輯模組,適用於多種格式,包括動圖 GIFs。

  • scikit-video – SciPy 視訊處理常用程式。

地理位置

地理編碼地址以及用來處理經緯度的庫。

  • GeoDjango – 世界級地理圖形 web 框架。

  • GeoIP – MaxMind GeoIP Legacy 資料庫的 Python API。

  • geojson – GeoJSON 的 Python 繫結及工具。

  • geopy – Python 地址編碼工具箱。

  • pygeoip – 純 Python GeoIP API。

  • django-countries – 一個 Django 應用程式,提供用於表格的國家選擇功能,國旗圖示靜態檔案以及模型中的國家欄位。

原文連結

相關文章