/>
Python 库实在是太多了,已经多到不管是谁都不可能知道全部的 Python 库。这里面有很多库大家一定耳熟能详,比如 Pandas,Scikit-learn 和 Numpy,但是也有些库大家可能错过了,虽然它们有些老旧,但是同样非常有用。
我们今天就分享一些比较小众的 Python 库,建议 Python 老手也可以看一看,里面可能有那么一两个库你也没有见过。(库都送到嘴边了请你一定要尝尝
/>
Delorean
Delorean 是一个很酷炫的日期时间库,是 Python 中用着最顺畅的日期时间库之一。它有点像 JavaScript 里的 moment,可以让你更简洁省心的解决 Python 中使用时间模块中遇到的问题,比如转换、操控和生成时间日期。
Delorean 这个名字也有点意思,源自科幻电影《回到未来》中那辆叫 Delorean 的梦幻鸥翼门汽车。
地址:
from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)
Prettytable
很可能你没听过 Prettytable 这个库,因为它在 GoogleCode上···
简直就是编程圈里的西伯利亚,又偏又冷。 />
不过虽然身在犄角旮旯,Prettytable 却能帮我们在终端或浏览器上构造出很漂亮的外观。所以如果你在为 IPython Notebook 忙着找新插件,试试 Prettytable 用到你的 HTML_repr_上。
地址:
Wget
是不是有时候因为工作需要,自己要闷头写网络爬虫?有个叫 Wget 的库就是个很好的爬虫工具。想递归下载一个网站?爬取页面的所有图片?想避开 cookie 追踪?没问题,全都可以。
甚至在电影《社交网络》里连马克·扎克伯格都说:
首先是 Kirkland,它们开放了所有的东西,允许在他们的 Apache 配置上索引内容。所以用点 Wget 的小技巧就足够下载整个 Kirkland Facebook。小菜一碟!
Wdget 的 Python 版本非常简单易用:
import wget
wget.download("http://www.cnn.com/")
# 100% [............................................................................] 280385 / 280385
地址:
PyMC
不确定现在有多少人用 PyMC,现在 Scikit-learn 好像成了人见人爱的小天使(也确实很厉害),但是 PyMC 也值得我们的关爱。
PyMC 是一个用于贝叶斯分析的库,在很多数据科学和 Python 博客里以及卡梅隆·戴维森-皮隆的《Bayesian Methods for Hackers》里多次出现。
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 这个库你就走掉了。Sh 能让你将 shell 命令以函数导入 Python 中。如果有些工作在 bash 中很简单,但你不知道怎么在 Python 中完成(比如递归搜索文件),这时 Sh 就会超级有用。
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 是一款非常简单的 Python 库,花个两三分钟就能通读它的原理:
Fuzzywuzzy 是一款很强大的模糊字符串匹配工具,很适合用于在不同数据库中创建特征向量或匹配记录。
地址:
Progressbar
Progressbar 是 Python 中的一个文本进度条程序库,用于展示长时间运行操作的过程,从视觉上提示你程序的处理进度。
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
如果你在编程过程中需要唯一 ID,那么这个叫 UUID 的 Python 库绝对是个好工具,它实现了 1,3,4 和 5 版本的 UUID 标准,用起来很方便。
import uuid
print uuid.uuid4()
# e7bafa3d-274e-4b0a-b9cc-d898957b4b61
地址:
Bashplotlib
Bashplotlib 是一款命令行工具,用于在终端绘制基本的图形。假如你没有 GUI 的话,它能让你迅速的可视化数据。它由 Python 编写,可以用 pip 随时随地迅速安装。
$ pip install bashplotlib
$ scatter --file data/texas.txt --pch x
地址: