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