链接:https://www.zhihu.com/question/24590883/answer/387363241
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Delorean
Delorean 是一个很酷炫的日期时间库,是 Python 中用着最顺畅的日期时间库之一。它有点像 JavaScript 里的 moment,可以让你更简洁省心的解决 Python 中使用时间模块中遇到的问题,比如转换、操控和生成时间日期。
Delorean 这个名字也有点意思,源自科幻电影《回到未来》中那辆叫 Delorean 的梦幻鸥翼门汽车。
地址:
https://delorean.readthedocs.io/en/latest/
from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)
Prettytable
很可能你没听过 Prettytable 这个库,因为它在 GoogleCode上···
简直就是编程圈里的西伯利亚,又偏又冷。
不过虽然身在犄角旮旯,Prettytable 却能帮我们在终端或浏览器上构造出很漂亮的外观。所以如果你在为 IPython Notebook 忙着找新插件,试试 Prettytable 用到你的 HTML_repr_上。
地址:
https://code.google.com/archive/p/prettytable/
Wget
是不是有时候因为工作需要,自己要闷头写网络爬虫?有个叫 Wget 的库就是个很好的爬虫工具。想递归下载一个网站?爬取页面的所有图片?想避开 cookie 追踪?没问题,全都可以。
甚至在电影《社交网络》里连马克·扎克伯格都说:
首先是 Kirkland,它们开放了所有的东西,允许在他们的 Apache 配置上索引内容。所以用点 Wget 的小技巧就足够下载整个 Kirkland Facebook。小菜一碟!
Wdget 的 Python 版本非常简单易用:
import wget
wget.download("http://www.cnn.com/")
# 100% [............................................................................] 280385 / 280385
地址:
https://pypi.org/project/wget/
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
地址:
https://pymc-devs.github.io/pymc/
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
地址:https://amoffat.github.io/sh/
Fuzzywuzzy
Fuzzywuzzy 是一款非常简单的 Python 库,花个两三分钟就能通读它的原理:
https://github.com/seatgeek/fuzzywuzzy/blob/master/fuzzywuzzy/fuzz.py
Fuzzywuzzy 是一款很强大的模糊字符串匹配工具,很适合用于在不同数据库中创建特征向量或匹配记录。
地址:
http://chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/
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% |######################################################## |
地址:
https://github.com/niltonvolpato/python-progressbar
Colorama
前面说到可以让程序有很棒的进度条,干嘛不再酷炫点,比如变成彩色!这点也很实用,可以在运行出错时提醒你。借助 Colorama 就能做到,使用起来很简单。将它放入脚本中,往颜色中添加任何你想打印的文本即可:
地址:
https://pypi.org/project/colorama/
Uuid
如果你在编程过程中需要唯一 ID,那么这个叫 UUID 的 Python 库绝对是个好工具,它实现了 1,3,4 和 5 版本的 UUID 标准,用起来很方便。
import uuid
print uuid.uuid4()
# e7bafa3d-274e-4b0a-b9cc-d898957b4b61
地址:
https://docs.python.org/2/library/uuid.html
Bashplotlib
Bashplotlib 是一款命令行工具,用于在终端绘制基本的图形。假如你没有 GUI 的话,它能让你迅速的可视化数据。它由 Python 编写,可以用 pip 随时随地迅速安装。
$ pip install bashplotlib
$ scatter --file data/texas.txt --pch x