你可能沒聽過的11個Python庫

目前,網上已有成千上萬個Python包,但幾乎沒有人可以所有知道它們。單單PyPi上就有超過47000個包列表。如今,愈來愈多的數據科學家 開始使用Python,雖然他們從pandas,scikit-learn,numpy中得到了很多好處,但我仍想向他們介紹一些年長且很是實用的 Python庫。在本文中,我將列一些不太知名的庫,即便你是經驗豐富的Python的開發者,也值得過來一看。 shell


一、delorean json


Dolorean是一個很是酷的日期/時間庫。相似JavaScript的moment,擁有很是完善的技術文檔。 瀏覽器


from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)
bash


二、prettytable 網絡


你可能從未聽過該庫,由於它託管在GoogleCode。prettytable主要用於在終端或瀏覽器端構建很好的輸出。 函數


from prettytable import PrettyTable
table = PrettyTable(["animal", "ferocity"])
table.add_row(["wolverine", 100])
table.add_row(["grizzly", 87])
table.add_row(["Rabbit of Caerbannog", 110])
table.add_row(["cat", -1])
table.add_row(["platypus", 23])
table.add_row(["dolphin", 63])
table.add_row(["albatross", 44])
table.sort_key("ferocity")
table.reversesort = True
+-------------------------------+----------+
| animal | ferocity|
+-------------------------------+----------+
| Rabbit of Caerbannog | 110 |
| wolverine | 100 |
| grizzly | 87 |
| dolphin | 63 |
| albatross | 44 |
| platypus | 23 |
| cat | -1 |
+--------------------------------+----------+
工具


三、snowballstemmer ui


好吧,我也是首次安裝該庫。這是一款很是瘦小的語言轉換庫,支持15種語言。 spa


from snowballstemmer import EnglishStemmer, SpanishStemmer
EnglishStemmer().stemWord("Gregory")
# Gregori
SpanishStemmer().stemWord("amarillo")
# amarill
3d


四、wget


你是否還記得,每一次都會由於某個目的而編寫網絡爬蟲工具,之後不再用了,由於wget就足夠你使用了。wget是Python版的網絡爬蟲庫,簡單好用。


import wget
wget.download("http://www.cnn.com/")
# 100% [............................................................................] 280385 / 280385


五、PyMC


scikit-learn彷佛是全部人的寵兒,但在我看來,PyMC更有魅力。PyMC主要用來作Bayesian分析。


from pymc.examples import disaster_model
from pymc import MCMC
M = MCMC(disaster_model)
M.sample(iter=10000, burn=1000, thin=10)
[-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec


六、sh


sh庫用來將shell命令做爲函數導入到Python中。在bash中使用是很是實用的,可是在Python中不容易記住怎麼使用(即遞歸搜索文件)。


from sh import find
find("/tmp")
/tmp/foo
/tmp/foo/file1.json
/tmp/foo/file2.json
/tmp/foo/file3.json
/tmp/foo/bar/file3.json


七、fuzzywuzzy


Fuzzywuzzy是一個能夠對字符串進行模糊匹配的庫


from fuzzywuzzy import fuzz
fuzz.ratio("Hit me with your best shot", "Hit me with your pet shark")
# 85


八、progressbar


progressbar是一個進度條庫,該庫提供了一個文本模式的progressbar。


from progressbar import ProgressBar
import time
pbar = ProgressBar(maxval=10)
for i in range(1, 11):
pbar.update(i)
time.sleep(1)
pbar.finish()
# 60% |######################################################## |


九、colorama


colorama主要用來給文本添加各類顏色,而且很是簡單易用。


十、uuid


uuid是基於Python實現的UUID庫,它實現了UUID標註的1,3,4和5版本,在確保惟一性上真的很是方便。


import uuid
print uuid.uuid4()
# e7bafa3d-274e-4b0a-b9cc-d898957b4b61


十一、bashplotlib


bashplotlib是一個繪圖庫,它容許你使用stdin繪製柱狀圖和散點圖等。

$ pip install bashplotlib $ scatter --file data/texas.txt --pch x
相關文章
相關標籤/搜索