原創|行業資訊|編輯:郝浩|2017-02-17 15:23:45.000|閱讀 1433 次
概述:Python是一門非常成功的語言,有著非常龐大的本地和第三方庫,這也因此造成了許多有用的庫被大家所忽視和遺忘。了解更多的知識庫可以讓工作事半功倍,在這里我們推薦其中的10個好用但容易被忽視的Python庫。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Python是一門非常成功的語言,有著非常龐大的本地和第三方庫,這也因此造成了許多有用的庫被大家所忽視和遺忘。了解更多的知識庫可以讓工作事半功倍,在這里我們推薦其中的10個好用但容易被忽視的Python庫。
用途:快速的圖像處理
說明:大多數Python的用戶在進行圖像處理的時候都習慣使用PIL(Python Imaging Library),但是PIL有相當多的缺點和局限性,并且它的更新是在太頻繁了。Pillow相比起PIL來說,使用更加簡便,通過微小的改動可以做到與PIL代碼兼容。Pillow的擴展同時包含了Windows本地成像功能和Python的Tcl/Tk-backed Tkinter GUI程序包。Pillow v4版本于2017年年初發布,新增了一系列變化,其中包含了對最新的獨立庫(如FreeType、OpenJpeg等)的支持。你可以通過GitHub或者PyPI的知識庫去下載Pillow。
用途:將基于控制臺的Python項目轉化成用本地GUI平臺控制
說明:在將應用程序項目演示給一般用戶時,使用命令行工具或許是最為快捷的方式了。但是某些功能這樣做可能效果并不好,比如需要呈現選項的順序和途徑等。 Gooey提取了argparse庫中的預估參數,并將它們以GUI的形式呈現給用戶,并包含了所有的標簽選項以及控制圖標(比如多參數選項的下拉圖標)。假如你已經使用過argparse庫,那么你只需要一點代碼(一個include和一個decorator)就可以讓它正常工作。
用途:包含多個擴展,支持SQLite, MySQL和PostgreSQL的微型ORM
說明:ORM常常不受人待見,許多人為了規避它甚至寧肯離開數據庫端的開發模式。但是構造良好,不唐突的ORM對于那些不想觸碰數據庫、對SQL Alchemy這樣一應俱全的浮腫軟件抵觸的開發者來說是天賜之物,而Peewee就是這樣的一類軟件。Peewee的模型易于構建、鏈接和操作,還內置了許多普通的查詢處理功能(如分頁)。此外它的插件還包含了更多功能,包括其它數據庫的擴展、測試工具等,甚至還包含了那些ORM仇視者可能也喜歡的特性——模式遷移系統。
用途:屏幕抓取和網頁采集
說明:Scrapy保持著整個抓取過程的簡單快捷。創建定義你想抓取的對象的類,然后編寫如何提取頁面數據的規則,結果可以通過JSON、XML、CSV以及其它格式進行導出。收集的數據可以進行原始保存,也可以進行處理作為新的入口端。另外,Scrapy可以擴展應用到許多其它行為,比如網站登錄處理或會話cookie的處理。
用途:通過單個統一的API訪問多個云提供商
說明:云提供商都喜歡用他們自己的方式做事,有些東西很微妙,有些東西則不然,因此,如果能夠用統一的機制來處理不同資源提供者所使用的不同資源調用方法是一件很有意義的事情。而Apache Libcloud能夠滿足這樣良好的意愿。它的接口同時支持Python 2.x和3.x版本,可以用于計算、存儲、負載均衡以及DNS。對于那些為了額外性能,使用的Python PyPy版本,Apache Libcloud 同樣提供支持。
用途:創建用Python編寫的視頻游戲的框架
說明:Pygame提供了一個方便的選項來處理那些以GUI為方向的行為,否則需要處理大量繁重的任務:繪制畫布和sprite圖,處理多通道聲音,處理窗口和點擊事件,碰撞檢測等等。并不是每個應用程序,甚至不是每一個GUI應用程序會受益于Pygame,但是它所帶來的表現著實會讓人驚訝。
用途:科學計算和數學工作,包括統計、線性代數、矩陣數學、金融操作等
說明:對于那些精打細算的人們來說,已經熟知并愛上了NumPy。但是NumPy數學上的應用遠不止于此。舉個例子來說,NumPy可以提供最簡單,最靈活的方式來支持將多維數組添加到Python, 而這正是從其它語言轉學Python的新手常常抱怨的問題。如果你想要了解關于Python科學與算法的全部細節,可以查看,它包含了NumPy所解決的標準問題。對于建立在NumPy上的更加復雜的問題,你可以訪問。
用途:可在子流程中調用任何外部程序并返回一個到Python程序的結果,程序的語法與原生Python函數一致
說明:在任何兼容POSIX的系統上,Sh的到來無疑是如魚得水。這意味著這些平臺上的所有命令行程序都可以Python化。你不僅不再需要重新發明輪子,也不必糾結于如何為應用程序優雅地添加該功能。需要注意的是,這個庫沒有參數處理機制,請確保不要傳遞未經處理的用戶輸入。
用途:程序化的創建和操作Microsoft Word .docx文檔
說明:從理論上講,編寫創建和操作XML類型的Microsoft Word文檔的腳本是一件簡單的事情。但事實上,由于.docx文檔內部的復制性,這并不是一件容易的事。Python-docx通過提供高水平程序化的方式創建.docx文檔,讓你不再糾結于此。通過這個庫的API接口,所有的文本、圖像、樣式和文檔部分都可以進行添加和改變。
用途:任何文件系統的通用、Python類接口
說明: PyFilesystem所代表的思想非常簡單:“與文件對象是單個文件抽象化一樣的方式,文件(FS)系統對象是整個文件系統的抽象化。” 這意味著并不只包含磁盤上的文件系統,還包括了FTP目錄、內存文件系統、操作系統定義的文件系統(如用戶目錄),以及上述相疊加的組合。除了使更容易編寫跨平臺操作文件的代碼,PyFilesystem還可以去除掉繁雜的不同標準庫產物(主要是操作系統和輸入輸出方面的)。
本文翻譯自,譯者:慧都控件網-回憶和感動,轉載請注明本文地址
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn