開啟全民程式設計時代!Python小學生都要學的程式語言!

邏輯教育-楚陽發表於2019-02-14

如要問現在最流行與時髦的計算機程式語言是什麼?毫無疑問,Python領銜主演,網路上一句“人生苦短,我用Python” 不知換走了多少程式設計師的真心!


Python近些年隨著大資料,雲端計算、AI等領域的大規模應用,穩步的在程式語言排行榜上逐步上升,業內也把Python提到了一個相當高的地位。可是Python並不是大家想象中的一個新興的計算機程式語言,它其實在1989年就被荷蘭人Guido van Rossum發明了,並於1991年推出了第一個公開發行版本,比企業級軟體開發王者的JAVA語言還早了幾年。但為什麼Python到了近年來才開始了爆發性增長呢?


個人覺得可能由於下述幾個原因:


早期計算機效能不高,Python應用的效能代價太大


Python的第三方庫支援遠不如現今的廣泛與成熟


企業級應用框架的缺乏


LINUX陣營的乏力(應用與開發的高階貨,現如今隨著雲端計算IaaS站穩腳根)


Python作為指令碼語言,被廣大程式設計師忽視乃至於輕視(個人觀點,歡迎拍磚)


Python語言流行起來,應該是從OpenStack開始,因OpenStack採用Python進行開發,Django驚豔了不少人,OpenStack作為現今最流行與最廣的開源雲平臺產品,國產雲平臺中估計都超過9成是源自OpenStack。有了商業的需求,才有了現實社會的直接反應,最大力度的推動了Python的流行;這時廣大的程式設計師回頭一看,原來Python已經這麼強大,N多誘人的第三庫也層出不窮,原本極其複雜的事情可以變得這麼簡單。


Python現在的發展趨勢使全民程式設計時代成為可能,因為在海量的第三方庫面前,你只要有想法,然後用Python來實現就行,“人生苦短,我用Python“。

本人精心整理了一套Python零基礎入門教程,如果你想學想加入我們請加群:594767070可以領取學習資料!!!


常用的Python第三方庫列表


環境管理


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


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


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


virtualenvwrapper - virtualenv 的一組擴充套件。


包管理


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


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


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


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


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


包倉庫


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 – 軟體構建工具。


互動式解析器


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


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


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


檔案


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 – 提供使用者友好的函式來幫助使用者進行常用的日期和時間操作。


文字處理


chardet – 字元編碼檢測器,相容 Python2 和 Python3。


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


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


fuzzywuzzy – 模糊字串匹配。


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


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


pyfiglet -figlet 的 Python實現。


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


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


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


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


解析器


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


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


Pygments – 通用語法高亮工具。


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


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


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


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


特殊文字格式處理


tablib – 一個用來處理中表格資料的模組。


Office


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


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


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


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


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


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


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


relatorio – 模板化OpenDocument 檔案。


PDF


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


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


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


Markdown


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


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


YAML


PyYAML – Python 版本的 YAML 解析器。


CSV


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


Archive


unp – 一個用來方便解包歸檔檔案的命令列工具。


自然語言處理


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


jieba – 中文分詞工具。


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


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


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


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


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


文件


Sphinx – Python 文件生成器。


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


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


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


配置


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


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


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


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


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


命令列工具


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


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


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


clint – Python 命令列程式工具。


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


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


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


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


生產力工具


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 – 音訊指紋提取和識別


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 檔案和回放功能。


視訊


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 應用程式,提供用於表格的國家選擇功能,國旗圖示靜態檔案以及模型中的國家欄位。


HTTP


requests – 人性化的HTTP請求庫。


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


httplib2 – 全面的 HTTP 客戶端庫。


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


urllib3 – 一個具有執行緒安全連線池,支援檔案 post,清晰友好的 HTTP 庫。


資料庫


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


PipelineDB – 流式 SQL 資料庫。


TinyDB – 一個微型的,面向文件型資料庫。


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


資料庫驅動


MySQL – awesome-mysql系列


mysql-python – Python 的 MySQL 資料庫聯結器。


mysqlclient – mysql-python 分支,支援 Python 3。


oursql – 一個更好的 MySQL 聯結器,支援原生預編譯指令和 BLOBs.


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


psycopg2 – Python 中最流行的 PostgreSQL 介面卡。


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


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


其他關係型資料庫


apsw – 另一個 Python SQLite封裝。


dataset – 在資料庫中儲存Python字典 – 可以協同SQLite,MySQL,和 PostgreSQL工作。


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


NoSQL 資料庫


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


HappyBase – 一個為 Apache HBase 設計的,對開發者友好的庫。


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


py2neo – Neo4jrestful 介面的Python 封裝客戶端。


pycassa – Cassandra 的 Python Thrift 驅動。


PyMongo – MongoDB 的官方 Python 客戶端。


redis-py – Redis 的 Python 客戶端。


telephus – 基於 Twisted 的 Cassandra 客戶端。


txRedis – 基於 Twisted 的 Redis 客戶端。


ORM


關係型資料庫


Django Models – Django 的一部分。


SQLAlchemy – Python SQL 工具以及物件關係對映工具。


Peewee – 一個小巧,富有表達力的 ORM。


PonyORM – 提供面向生成器的 SQL 介面的 ORM。


python-sql – 編寫 Python 風格的 SQL 查詢。


django-mongodb-engine – Django MongoDB 後端。


PynamoDB – Amazon DynamoDB 的一個 Python 風格介面。


flywheel – Amazon DynamoDB 的物件對映工具。


MongoEngine – 一個Python 物件文件對映工具,用於 MongoDB。


hot-redis – 為 Redis 提供 Python 豐富的資料型別。


redisco – 一個 Python 庫,提供可以持續存在在 Redis 中的簡單模型和容器。


Web 框架


Django – Python 界最流行的 web 框架。


Flask – 一個 Python 微型框架。


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


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


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


TurboGears – 一個可以擴充套件為全棧解決方案的微型框架。


web.py – 一個 Python 的 web 框架,既簡單,又強大。


web2py – 一個全棧 web 框架和平臺,專注於簡單易用。


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


CMS 內容管理系統


django-cms – 一個開源的,企業級 CMS,基於 Django。


djedi-cms – 一個輕量級但卻非常強大的 Django CMS ,考慮到了外掛,內聯編輯以及效能。


FeinCMS – 基於 Django 構建的最先進的內容管理系統之一。


Kotti – 一個高階的,Python 範的 web 應用框架,基於 Pyramid 構建。


Mezzanine – 一個強大的,持續的,靈活的內容管理平臺。


Opps – 一個為雜誌,報紙網站以及大流量入口網站設計的 CMS 平臺,基於 Django。


Plone – 一個構建於開源應用伺服器 Zope 之上的 CMS。


Quokka – 靈活,可擴充套件的小型 CMS,基於 Flask 和 MongoDB。


Wagtail – 一個 Django 內容管理系統。


Widgy – 最新的 CMS 框架,基於 Django。


電子商務


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


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


Cartridge – 一個基於 Mezzanine 構建的購物車應用。


shoop – 一個基於 Django 的開源電子商務平臺。


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


merchant – 一個可以接收來自多種支付平臺支付的 Django 應用。


money – 貨幣類庫


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


RESTful API


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 表示和驗證。 與框架無關的
falcon – 一個用來建立雲 API 和 web app 後端的噶效能框架。


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


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


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


驗證


OAuth


Authomatic – 簡單但是強大的框架,身份驗證/授權客戶端。
django-allauth – Django 的驗證應用。


django-oauth-toolkit – 為 Django 使用者準備的 OAuth2。


django-oauth2-provider – 為 Django 應用提供 OAuth2 接入。


Flask-OAuthlib – OAuth 1.0/a, 2.0客戶端實現,供 Flask 使用。


OAuthLib – 一個 OAuth 請求-簽名邏輯通用、完整的實現。


python-oauth2 – 一個完全測試的抽象介面。用來建立 OAuth 客戶端和服務端。


python-social-auth – 一個設定簡單的社會化驗證方式。


rauth – OAuth 1.0/a,2.0, 和 Ofly 的 Python 庫。


sanction – 一個超級簡單的OAuth2 客戶端實現。


jose – JavaScript 物件簽名和加密草案的實現。


PyJWT – JSON Web 令牌草案 01。


python-jws – JSON Web 簽名草案 02 的實現。


python-jwt – 一個用來生成和驗證 JSON Web 令牌的模組。


模板引擎


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


Chameleon – 一個 HTML/XML 模板引擎。模仿了 ZPT(Zope Page Templates), 進行了速度上的優化。


Genshi – Python 模板工具,用以生成 web 感知的結果。


Mako – Python 平臺的超高速輕量級模板。


Queue


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-activity-stream– 從你的站點行為中生成通用活動資訊流。


Stream-Framework – 使用 Cassandra 和 Redis 建立動態訊息和通知系統。


資源管理


管理、壓縮、縮小網站資源的工具。


django-compressor– 將連結和內聯的 JavaScript 或 CSS 壓縮到一個單獨的快取檔案中。


django-storages – 一個針對 Django 的自定義儲存後端的工具集合。


fanstatic – 打包、優化,並且把靜態檔案依賴作為 Python 的包來提供。


File Conveyor – 一個後臺駐留的程式,用來發現和同步檔案到 CDNs, S3 和 FTP。


Flask-Assets – 幫你將 web 資源整合到你的 Flask app 中。


jinja-assets-compressor – 一個 Jinja 擴充套件,用來編譯和壓縮你的資源。


webassets – 為你的靜態資源打包、優化和管理生成獨一無二的快取 URL。


快取


快取資料的庫。


Beaker – 一個快取和會話庫,可以用在 web 應用和獨立 Python指令碼和應用上。


django-cache-machine – Django 模型的自動快取和失效。


django-cacheops- 具有自動顆粒化事件驅動失效功能的 ORM。


django-viewlet – 渲染模板,同時具有額外的快取控制功能。


dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者開發。


HermesCache – Python 快取庫,具有基於標籤的失效和 dogpile effect 保護功能。


johnny-cache – django應用快取框架。


pylibmc – libmemcached 介面的 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 庫,用來抽取資訊和簽名。


國際化


Babel – 一個Python 的國際化庫。


Korean – 一個韓語詞態庫。


URL處理


furl – 一個讓處理 URL 更簡單小型 Python 庫。


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


pyshorteners – 一個純 Python URL 縮短庫。


shorturl- 生成短小 URL 和類似 bit.ly 短鏈的Python 實現。


webargs – 一個解析 HTTP 請求引數的庫,內建對流行 web 框架的支援,包括 Flask, Django,Bottle, Tornado和 Pyramid。



HTML處理


BeautifulSoup– 以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜尋和修改。
bleach – 一個基於白名單的 HTML 清理和文字連結庫。


cssutils – 一個 Python 的 CSS 庫。


html5lib – 一個相容標準的 HTML 文件和片段解析及序列化庫。


lxml – 一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。


MarkupSafe – 為Python 實現 XML/HTML/XHTML 標記安全字串。


pyquery – 一個解析 HTML 的庫,類似 jQuery。


untangle – 將XML文件轉換為Python物件,使其可以方便的訪問。


xhtml2pdf – HTML/CSS 轉 PDF 工具。


xmltodict – 像處理 JSON 一樣處理 XML。


網路站點爬取


Scrapy – 一個快速高階的螢幕爬取及網頁採集框架。


cola – 一個分散式爬蟲框架。


Demiurge – 基於PyQuery 的爬蟲微型框架。


feedparser – 通用 feed 解析器。


Grab – 站點爬取框架。


MechanicalSoup – 用於自動和網路站點互動的 Python 庫。


portia – Scrapy 視覺化爬取。


pyspider – 一個強大的爬蟲系統。


RoboBrowser – 一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。


網頁內容提取


Haul – 一個可以擴充套件的影象爬取工具。


html2text – 將 HTML 轉換為 Markdown 格式文字
lassie – 人性化的網頁內容檢索庫。


micawber -一個小型網頁內容提取庫,用來從 URLs 提取富內容。


newspaper – 使用 Python 進行新聞提取,文章提取以及內容策展。


opengraph – 一個用來解析開放內容協議(Open GraphProtocol)的 Python模組。


python-goose – HTML內容/文章提取器。


python-readability- arc90 公司 readability 工具的 Python 高速埠
sanitize – 為雜亂的資料世界帶來調理性。


sumy – 一個為文字檔案和 HTML 頁面進行自動摘要的模組。


textract – 從任何格式的文件中提取文字,Word,PowerPoint,PDFs 等等。


表單


Deform –Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發。
django-bootstrap3- 整合了 Bootstrap 3 的 Django。


django-crispy-forms – 一個 Django 應用,他可以讓你以一種非常優雅且 DRY(Don’t repeat yourself)的方式來建立美觀的表單。


django-remote-forms- 一個平臺獨立的 Django 表單序列化工具。


WTForms – 一個靈活的表單驗證和呈現庫。


WTForms-JSON- 一個 WTForms 擴充套件,用來處理 JSON 資料。


資料驗證


Cerberus– A mappings-validator with a variety of rules, normalization-features andsimple customization that uses a pythonic schema-definition.


colander – 一個用於對從 XML, JSON,HTML 表單獲取的資料或其他同樣簡單的序列化資料進行驗證和反序列化的系統。


kmatch – 一種用於匹配/驗證/篩選 Python 字典的語言。


schema -一個用於對 Python 資料結構進行驗證的庫。


Schematics – 資料結構驗證。


valideer – 輕量級可擴充套件的資料驗證和適配庫。


voluptuous – 一個 Python 資料驗證庫。主要是為了驗證傳入 Python的 JSON,YAML 等資料。


反垃圾技術


django-simple-captcha– 一個簡單、高度可定製的Django 應用,可以為任何Django表單新增驗證碼。


django-simple-spam-blocker- 一個用於Django的簡單的電子垃圾遮蔽工具。


標記


django-taggit– 簡單的 Django 標記工具。


管理皮膚


Ajenti – 一個你的伺服器值得擁有的管理皮膚。


django-suit – Django 管理介面的一個替代品 (僅對於非商業用途是免費的)。


django-xadmin – Django admin 的一個替代品,具有很多不錯的功能。


flask-admin – 一個用於 Flask 的簡單可擴充套件的管理介面框架。


flower – 一個對 Celery 叢集進行實時監控和提供 web 管理介面的工具。


Grappelli – Django 管理介面的一個漂亮的皮膚。


Wooey – 一個 Django 應用,可以為 Python 指令碼建立 web 使用者介面。


靜態站點生成器


Pelican –使用 Markdown 或 ReST 來處理內容, Jinja 2 來製作主題。支援 DVCS, Disqus.。AGPL 許可。


Cactus – 為設計師設計的靜態站點生成器。


Hyde – 基於 Jinja2 的靜態站點生成器。


Nikola – 一個靜態網站和部落格生成器。


Tinkerer – Tinkerer 是一個部落格引擎/靜態站點生成器,由Sphinx驅動。


Lektor – 一個簡單易用的靜態 CMS 和部落格引擎。


程式


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


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


sh – 一個完備的 subprocess 替代庫。


併發和並行


用以進行併發和並行操作的庫。


multiprocessing– (Python 標準庫) 基於程式的“執行緒”介面。


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


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


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


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


網路


用於網路程式設計的庫。


asyncio –(Python 標準庫) 非同步 I/O, 事件迴圈, 協程以及任務。
Twisted – 一個事件驅動的網路引擎。


pulsar – 事件驅動的併發框架。


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


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


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


WebSocket


幫助使用WebSocket的庫。


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 ,而且可以很方便大嵌入到你的專案中去。


RPC 伺服器


相容 RPC 的伺服器。


SimpleJSONRPCServer– 這個庫是 JSON-RPC 規範的一個實現。


SimpleXMLRPCServer – (Python 標準庫) 簡單的 XML-RPC 伺服器實現,單執行緒。


zeroRPC – zerorpc 是一個靈活的 RPC 實現,基於 ZeroMQ 和 MessagePack。


密碼學


cryptography– 這個軟體包意在提供密碼學基本內容和方法提供給 Python 開發者。
hashids – 在 Python 中實現 hashids 。


Paramiko – SSHv2 協議的 Python (2.6+,3.3+) ,提供客戶端和服務端的功能。
Passlib – 安全密碼儲存/雜湊庫,
PyCrypto – Python 密碼學工具箱。


PyNacl – 網路和密碼學(NaCl) 庫的 Python 繫結。


圖形使用者介面


用來建立圖形使用者介面程式的庫。


curses – 內建的 ncurses 封裝,用來建立終端圖形使用者介面。


enaml – 使用類似 QML 的Declaratic語法來建立美觀的使用者介面。


kivy – 一個用來建立自然使用者互動(NUI)應用程式的庫,可以執行在 Windows, Linux,Mac OS X, Android 以及 iOS平臺上。


pyglet – 一個Python 的跨平臺視窗及多媒體庫。


PyQt – 跨平臺使用者介面框架 Qt 的 Python 繫結,支援Qt v4 和 Qt v5。


PySide – P跨平臺使用者介面框架 Qt 的 Python 繫結,支援Qt v4。


Tkinter – Tkinter 是 Python GUI 的一個事實標準庫。


Toga – 一個 Python 原生的, 作業系統原生的 GUI 工具包。


urwid – 一個用來建立終端 GUI 應用的庫,支援元件,事件和豐富的色彩等。


wxPython – wxPython 是 wxWidgets C++ 類庫和 Python 語言混合的產物。


PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 繫結


Flexx – Flexx 是一個純 Python 語言編寫的用來建立 GUI 程式的工具集,它使用 web 技術進行介面的展示。


遊戲開發


超讚的遊戲開發庫。


Cocos2d –cocos2d 是一個用來開發 2D 遊戲,示例和其他圖形/互動應用的框架。基於 pyglet。


Panda3D – 由迪士尼開發的 3D 遊戲引擎,並由卡內基梅隴娛樂技術中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。


Pygame – Pygame 是一組 Python 模組,用來編寫遊戲。


PyOgre – Ogre 3D 渲染引擎的 Python 繫結,可以用來開發遊戲和模擬程式等任何 3D 應用。


PyOpenGL – OpenGL 的 Python 繫結及其相關 APIs。


PySDL2 – SDL2 庫的封裝,基於 ctypes。


RenPy – 一個視覺小說(visual novel)引擎。


日誌


用來生成和操作日誌的庫。


logging –(Python 標準庫) 為 Python 提供日誌功能。


logbook – Logging 庫的替代品。


Eliot – 為複雜的和分散式系統建立日誌。


Raven – Sentry的 Python 客戶端。


Sentry – 實時記錄和收集日誌的伺服器。


測試


進行程式碼庫測試和生成測試資料的庫。


測試框架


unittest – (Python 標準庫) 單元測試框架。


nose – nose 擴充套件了 unittest 的功能。


contexts – 一個 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的啟發。


hypothesis – Hypothesis 是一個基於先進的 Quickcheck 風格特性的測試庫。


mamba – Python 的終極測試工具,擁護BDD。


PyAutoGUI – PyAutoGUI 是一個人性化的跨平臺 GUI 自動測試模組。


pyshould- Should 風格的斷言,基於 PyHamcrest。


pytest- 一個成熟的全功能 Python 測試工具。


green- 乾淨,多彩的測試工具。


pyvows- BDD 風格的測試工具,受Vows.js的啟發。


Robot Framework – 一個通用的自動化測試框架。


Web 測試


Selenium – Selenium WebDriver 的 Python 繫結。


locust – 使用 Python 編寫的,可擴充套件的使用者載入測試工具。


sixpack – 一個和語言無關的 A/B 測試框架。


splinter – 開源的 web 應用測試工具。


Mock測試


mock – (Python 標準庫) 一個用於偽造測試的庫。


doublex – Python 的一個功能強大的 doubles 測試框架。


freezegun – 通過偽造日期模組來生成不同的時間。


httmock – 針對 Python 2.6+ 和 3.2+ 生成偽造請求的庫。


httpretty – Python 的 HTTP 請求 mock 工具。


responses – 偽造 Python 中的 requests 庫的一個通用庫。


VCR.py – 在你的測試中記錄和重放 HTTP 互動。


物件工廠


factoryboy – 一個 Python 用的測試韌體 (test fixtures) 替代庫。


mixer – 另外一個測試韌體 (test fixtures) 替代庫,支援 Django, Flask,SQLAlchemy, Peewee 等。


modelmommy – 為 Django 測試建立隨機韌體


程式碼覆蓋率


coverage – 程式碼覆蓋率測量。


偽資料


faker – 一個 Python 庫,用來生成偽資料。


fake2db – 偽資料庫生成器。


radar – 生成隨機的日期/時間。


錯誤處理


FuckIt.py – FuckIt.py 使用最先進的技術來保證你的 Python 程式碼無論對錯都能繼續執行。
程式碼分析和Lint工具


進行程式碼分析,解析和操作程式碼庫的庫和工具。


程式碼分析


code2flow – 把你的 Python 和 JavaScript 程式碼轉換為流程圖。


pycallgraph -這個庫可以把你的Python 應用的流程(呼叫圖)進行視覺化。


pysonar2 – Python 型別推斷和檢索工具。


Lint工具


Flake8 – 模組化原始碼檢查工具: pep8, pyflakes 以及 co。


Pylint – 一個完全可定製的原始碼分析器。


pylama – Python 和 JavaScript 的程式碼審查工具。


除錯工具


用來進行程式碼除錯的庫。


偵錯程式


ipdb – IPython 啟用的 pdb。


pudb – 全屏,基於控制檯的 Python 偵錯程式。


pyringe – 可以在 Python 程式中附加和注入程式碼的偵錯程式。


wdb – 一個奇異的 web 偵錯程式,通過 WebSockets 工作。


winpdb – 一個具有圖形使用者介面的 Python 偵錯程式,可以進行遠端除錯,基於 rpdb2。


django-debug-toolbar – 為 Django 顯示各種除錯資訊。


django-devserver – 一個 Django 執行伺服器的替代品。


flask-debugtoolbar – django-debug-toolbar 的 flask 版。


效能分析器


lineprofiler – 逐行效能分析。


memoryprofiler – 監控 Python 程式碼的記憶體使用。


profiling – 一個互動式 Python 效能分析工具。


其他


pyelftools – 解析和分析 ELF 檔案以及 DWARF 除錯資訊。


python-statsd – statsd 伺服器的 Python 客戶端。


科學技術和資料分析


用來進行科學計算和資料分析的庫。


astropy –一個天文學 Python 庫。


bcbio-nextgen – 這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。


bccb – 生物分析相關程式碼集合


Biopython – Biopython 是一組可以免費使用的用來進行生物計算的工具。


blaze – NumPy 和 Pandas 的大資料介面。


cclib – 一個用來解析和解釋計算化學軟體包輸出結果的庫。


NetworkX – 一個為複雜網路設計的高效能軟體。


Neupy – 執行和測試各種不同的人工神經網路演算法。


Numba – Python JIT (just in time) 編譯器,針對科學用的 Python ,由Cython 和 NumPy 的開發者開發。


NumPy – 使用 Python 進行科學計算的基礎包。


Open Babel – 一個化學工具箱,用來描述多種化學資料。


Open Mining – 使用 Python 挖掘商業情報 (BI) (Pandas web 介面)。


orange – 通過視覺化程式設計或 Python 指令碼進行資料探勘,資料視覺化,分析和機器學習。


Pandas – 提供高效能,易用的資料結構和資料分析工具。


PyDy – PyDy 是 Python Dynamics 的縮寫,用來為動力學運動建模工作流程提供幫助,基於 NumPy, SciPy, IPython 和 matplotlib。


PyMC – 馬爾科夫鏈蒙特卡洛取樣工具。


RDKit – 化學資訊學和機器學習軟體。


SciPy – 由一些基於 Python ,用於數學,科學和工程的開源軟體構成的生態系統。


statsmodels – 統計建模和計量經濟學。


SymPy – 一個用於符號數學的 Python 庫。


zipline – 一個 Python 演算法交易庫。


資料視覺化


進行資料視覺化的庫。參見: awesome-javascript。


matplotlib– 一個 Python 2D 繪相簿。


bokeh – 用 Python 進行互動式 web 繪圖。


ggplot – ggplot2 給 R 提供的 API 的 Python 版本。


plotly – 協同 Python 和 matplotlib 工作的 web 繪相簿。


pygal – 一個 Python SVG 圖表建立工具。


pygraphviz – Graphviz 的 Python 介面。


PyQtGraph – 互動式實時2D/3D/影象繪製及科學/工程學元件。


SnakeViz – 一個基於瀏覽器的 Python’s cProfile模組輸出結果檢視工具。


vincent – 把 Python 轉換為 Vega 語法的轉換工具。


VisPy – 基於 OpenGL 的高效能科學視覺化工具。


計算機視覺


計算機視覺庫。


OpenCV – 開源計算機視覺庫。


SimpleCV – 一個用來建立計算機視覺應用的開源框架。


機器學習


Crab – 靈活、快速的推薦引擎。


gensim – 人性化的話題建模庫。


hebel – GPU 加速的深度學習庫。


NuPIC – 智慧計算 Numenta 平臺。


pattern – Python 網路挖掘模組。


PyBrain – 另一個 Python 機器學習庫。


Pylearn2 – 一個基於 Theano 的機器學習庫。


python-recsys – 一個用來實現推薦系統的 Python 庫。


scikit-learn – 基於 SciPy 構建的機器學習 Python 模組。


pydeep – Python 深度學習庫。


vowpalporpoise – 輕量級 Vowpal Wabbit 的 Python 封裝。


skflow – 一個 TensorFlow 的簡化介面(模仿 scikit-learn)。


MapReduce


dpark –Spark 的 Python 克隆版,一個類似 MapReduce 的框架。


dumbo – 這個 Python 模組可以讓人輕鬆的編寫和執行 Hadoop 程式。


luigi – 這個模組幫你構建批處理作業的複雜流水線。


mrjob – 在 Hadoop 或 Amazon Web Services 上執行 MapReduce 任務。


PySpark – Spark 的 Python API 。


streamparse – 執行鍼對事實資料流的 Python 程式碼。整合了Apache Storm。


函數語言程式設計


CyToolz –Toolz 的 Cython 實現 : 高效能函式式工具。


fn.py – 在 Python 中進行函數語言程式設計 : 實現了一些享受函數語言程式設計缺失的功能。


funcy – 炫酷又實用的函式式工具。


Toolz – 一組用於迭代器,函式和字典的函數語言程式設計工具。


第三方 API


apache-libcloud– 一個為各種雲設計的 Python 庫。


boto – Amazon Web Services 的 Python 介面。


django-wordpress – WordPress models and views for Django.


facebook-sdk – Facebook 平臺的 Python SDK.


facepy – Facepy 讓和 Facebook’s GraphAPI 的互動變得更容易。


gmail – Gmail 的 Python 介面。


google-api-python-client – Python 用的 Google APIs 客戶端庫。


gspread – Google 電子表格的 Python API.


twython – Twitter API 的封裝。


DevOps 工具


Ansible –一個非常簡單的 IT 自動化平臺。


SaltStack – 基礎設施自動化和管理系統。


OpenStack – 用於構建私有和公有云的開源軟體。


Docker Compose – 快速,分離的開發環境,使用 Docker。


Fabric – 一個簡單的,Python 風格的工具,用來進行遠端執行和部署。


cuisine – 為 Fabric 提供一系列高階函式。


Fabtools – 一個用來編寫超讚的 Fabric 檔案的工具。


gitapi – Git 的純 Python API。


hgapi – Mercurial 的純 Python API。


honcho – Foreman的 Python 克隆版,用來管理基於Procfile的應用。


pexpect – Controlling interactive programs in a pseudo-terminal like 在一個偽終端中控制互動程式,就像 GNU expect 一樣。


psutil – 一個跨平臺程式和系統工具模組。


supervisor – UNIX 的程式控制系統。


任務排程


APScheduler– 輕巧但強大的程式內任務排程,使你可以排程函式。


django-schedule – 一個 Django 排程應用。


doit – 一個任務執行和構建工具。


gunnery – 分散式系統使用的多用途任務執行工具,具有 web 互動介面。


Joblib – 一組為 Python 提供輕量級作業流水線的工具。


Plan – 如有神助地編寫 crontab 檔案。


schedule – 人性化的 Python 任務排程庫。


Spiff – 使用純 Python 實現的強大的工作流引擎。


TaskFlow – 一個可以讓你方便執行任務的 Python 庫,一致並且可靠。
外來函式介面


cffi – 用來呼叫 C 程式碼的外來函式介面。


ctypes – (Python 標準庫) 用來呼叫 C 程式碼的外來函式介面。


PyCUDA – Nvidia CUDA API 的封裝。


SWIG – 簡化的封裝和介面生成器。


高效能


Cython – 優化的 Python 靜態編譯器。使用型別混合使 Python 編譯成 C 或 C++ 模組來獲得效能的極大提升。


PeachPy – 嵌入 Python 的 x86-64 彙編器。可以被用作 Python 內聯的彙編器或者是獨立的彙編器,用於 Windows, Linux,OS X, Native Client 或者 Go 。


PyPy – 使用 Python 實現的 Python。直譯器使用黑魔法加快 Python 執行速度且不需要加入額外的型別資訊。


Pyston – 使用 LLVM 和現代 JIT 技術構建的 Python 實現,目標是為了獲得很好的效能。


Stackless Python – 一個強化版的 Python。


微軟的 Windows平臺


Python(x,y)– 面向科學應用的 Python 發行版,基於 Qt 和 Spyder。


pythonlibs – 非官方的 Windows 平臺 Python 擴充套件二進位制包。


PythonNet – Python 與 .NET 公共語言執行庫 (CLR)的整合。


PyWin32 – 針對 Windows 的Python 擴充套件。


WinPython – Windows 7/8 系統下行動式開發環境。


網路視覺化和SDN


Mininet –一款流行的網路模擬器以及用 Python 編寫的 API。
POX – 一個針對基於 Python 的軟體定義網路應用(例如 OpenFlow SDN 控制器)的開源開發平臺。


Pyretic – 火熱的 SDN 程式語言中的一員,為網路交換機和模擬器提供強大的抽象能力。
SDX Platform – 基於 SDN 的 IXP 實現,影響了 Mininet, POX 和 Pyretic。


硬體


ino -操作Arduino的命令列工具。


Pyro – Python 機器人程式設計庫。


PyUserInput – 跨平臺的,控制滑鼠和鍵盤的模組。


scapy – 一個非常棒的運算元據包的庫。


wifi – 一個 Python 庫和命令列工具用來在 Linux 平臺上操作WiFi。


Pingo – Pingo 為類似Raspberry Pi,pcDuino, Intel Galileo等裝置提供統一的API用以程式設計。


相容性


幫助從 Python 2 向 Python 3遷移的庫。


Python-Future– 這就是 Python 2 和 Python 3 之間丟失的那個相容性層。


Python-Modernize – 使 Python 程式碼更加現代化以便最終遷移到 Python 3。


Six – Python 2 和 3 的相容性工具。


雜項


不屬於上面任何一個類別,但是非常有用的庫。


blinker –一個快速的 Python 程式內訊號/事件分發系統。


itsdangerous – 一系列輔助工具用來將可信的資料傳入不可信的環境。


pluginbase – 一個簡單但是非常靈活的 Python 外掛系統。


Pychievements – 一個用來建立和追蹤成就的 Python 框架。


Tryton – 一個通用商務框架。

開啟全民程式設計時代!Python小學生都要學的程式語言!

相關文章