11个并不广为人知,但值得了解的Python库
这是一篇译文,文中提及了一些不常见但是有用的Python库
原文地址:http://blog.yhathq.com/posts/11-python-libraries-you-might-not-know.html
首发:伯乐在线
译者:zer0Black
校稿人:Daetalus
本文由博客园zer0black撰写/翻译,未经允许,禁止转载
1) Delores
本文由博客园zer0black撰写/翻译,未经允许,禁止转载
moment 库,每次我导入它的时候都会想笑。文档也很棒,除了有技术指导外,他们还引用了《回到未来》的无数内容(来丰富文档)。|
1
2
3
|
from delorean import DeloreanEST = "US/Eastern"d = Delorean(timezone=EST) |

2) prettytable
prettytable 仍旧是最棒的结构化输出的库,它能在终端或浏览器里构建良好的输出。因此,如果你正在用 IPython Notebook的新插件,建议你用prettytable 来代替__repr__进行HTML输出。|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from prettytable import PrettyTabletable = 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 |+----------------------+----------+ |
3) snowballstemmer
snowballstemmer,是因为我觉得这个名字很酷炫。但它的确是一个小巧好使的包。snowballstemmer 通过porter stemmer算法来提取15种语言的单词词干。|
1
2
3
4
5
|
from snowballstemmer import EnglishStemmer, SpanishStemmerEnglishStemmer().stemWord("Gregory")# GregoriSpanishStemmer().stemWord("amarillo")# amarill |
4) wget
wget.想要以递归的方式下载所有页面?想要抓取页面上的每张图?想要避免cookie追踪?wget可以给你想要的一切。从柯克兰(寝室名)开始,这里的一切公共目录都是公开的,还允许在Apache系统里插入目录。所以用个wget就能下载柯克兰全部的照片库里的图片了。易如反掌!

|
1
2
3
|
import wgetwget.download("<a href="http://www.cnn.com/">http://www.cnn.com/</a>")# 100% [............................................................................] 280385 / 280385 |
linux和osx的用户还会用到另一个选项:from sh import wget。不过Python wget模块还有更好的参数处理。
5) PyMC
PyMC 包的了。scikit-learn 似乎是所有人的宠儿(它应得的,它太出色了),但是依我看来,PyMC更有魅力。|
1
2
3
4
5
|
from pymc.examples import disaster_modelfrom pymc import MCMCM = MCMC(disaster_model)M.sample(iter=10000, burn=1000, thin=10)[-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec |
PyMC 主要用来做贝叶斯定理分析。它的特点在Cam Davidson-Pilon的 Bayesian Methods for Hackers 里着重介绍过,它在许多流行的数据科学/python博客上也是一颗闪耀的钻石,但是它从来没得到过像它的同类scikit-learn一样的狂热追捧。6) sh
sh库的情况下,就让你离开。 sh用来将shell命令导入到Python中。在bash它超有用,但在Python里你可能就不住怎么使用(即递归搜索文件)。|
1
2
3
4
5
6
7
|
from sh import findfind("/tmp")/tmp/foo/tmp/foo/file1.json/tmp/foo/file2.json/tmp/foo/file3.json/tmp/foo/bar/file3.json |
7) fuzzywuzzy
fuzzywuzzy 实现了字符串的相似率,令牌比和许多其他的匹配模式。它也可以用来创建特征向量或者匹配不同数据库的记录。|
1
2
3
|
from fuzzywuzzy import fuzzfuzz.ratio("Hit me with your best shot", "Hit me with your pet shark")# 85 |
8) progressbar
__main__循环的时候,你用过print "still going...” 这样的提示么?你知道么,这样会感觉特别low。想要找东西替代它么?为什么不用progressbar来提升你游戏的档次呢?progressbar 在针对精确数据的时候效果很好,它提供了一个文本模式的progressbar。但即便是一个变动的不精确数据,使用它也比用那些很长的脚本好。本文由博客园zer0black撰写/翻译,未经允许,禁止转载
pip install可以安装它。|
1
2
3
4
5
6
7
8
|
from progressbar import ProgressBarimport timepbar = ProgressBar(maxval=10)for i in range(1, 11): pbar.update(i) time.sleep(1)pbar.finish()# 60% |######################################################## | |
9) colorama
colorama 很容易使用。只要把它写进你的脚本,添加到想要打印的文本之前:
10) uuid
uuid 就是Python的一个UUID包。它实现了UUID standards 标准的1,3,4,5版本。在确保唯一性上真的很方便。|
1
2
3
|
import uuidprint uuid.uuid4()# e7bafa3d-274e-4b0a-b9cc-d898957b4b61 |

11) bashplotlib
bashplotlib 是我创建的一个库。它通过标准输入绘制出柱状图和散点图。当然,你不需要考虑用它来替代ggplot或matplotlib来作为你每天绘图的包,只要作为新奇玩意试试就好。但至少,你可以使用它把你的日志文件弄的好看点。|
1
2
|
$ pip install bashplotlib$ scatter --file data/texas.txt --pch x |

11个并不广为人知,但值得了解的Python库的更多相关文章
- 转:11个实用但你可能不知道的Python程序库
原文来自于:http://www.techug.com/11-python-libraries-you-might-not-know 目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它 ...
- 11个实用但你可能不知道的Python程序库
目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit- ...
- 精选 TOP45 值得学习的Python项目
精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...
- 你可能没听过的11个Python库
目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单 PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从 pandas, scik ...
- Python学习教程(十)精选 TOP45 值得学习的Python项目
精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...
- 推荐11个实用Python库
1.delorea 非常酷的日期/时间库 from delorean import Delorean EST = "US/Eastern"d = Delorean(timezone ...
- 为什么 要弄清楚 mysql int(5) int(11) bigint 自建mysql主键id python random 科学计数法
场景: 有1.2亿条问答数据,相同问题的不同答案为不同条的数据,且该表数据逐日递增: 第三方需求(不合理): 将问题.答案数据分别放入问题表.答案表: 问题表的主键为整数,在答案表中,每行数据有相应的 ...
- VisualGDB系列11:Linux C++项目中使用外部Linux库
根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 在<使用VS创建Linux静态库和 ...
- python和java哪个更值得学?Python会超越Java吗?
Java快死了吗?当然不是.但是Python的普及率每年都在增长.每个都有自己的优点和缺点,并且两者都是值得了解的. 根据IT编程趋势,就工作数量,现有Java开发人员的数量以及IT中的总体使用情况而 ...
随机推荐
- startUML破解方式
StarUML官方下载地址:http://staruml.io/download StarUML是一个非常好用的画UML图的工具,但是它是收费软件,以下是破解方法: 1.使用Editplus或者N ...
- PHP两种基础的算法:冒泡、快速排序法》》》望能够帮助到大家
首先扯个淡@@@@@@@@@ 算法是程序的核心,一个程序的好坏关键是这个程序算法的优劣. 冒泡排序法 原理:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的 ...
- opencv2.4更换为opencv3.1后,mxnet编译错误(libpng16.so.16)
编译显示错误为: /usr/bin/ld: warning: libpng16.so.16, needed by /usr/local/lib/libopencv_imgcodecs.so, not ...
- 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
一.需求分析 日志数据在很多行业中都是非常敏感的数据,它们不能删除只能保存和查看,这样日志表就会越来越大,我们不可能永远让它无限制的增长下去,必须采取一种手段将数据分散开来.假设现在整个数据库需要保存 ...
- 使用Solr索引MySQL数据
环境搭建 1.到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压到某个目录 3.cd into D:\Solr\s ...
- mysql 列类型
- 【iOS Instrument性能优化集】
iOS Instrument性能优化集 1.UIImage缓存取舍 在项目代码中看到大量使用如下代码: UIImage使用 在Main Thread中发现不同动画场景中Image IO 开销和耗时所占 ...
- Linux学习笔记(9)-守护进程
明天学这个!! ---------------------------------------------------------- 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终 ...
- SQL 数字分割的字符串
:表示包含正数或者负数.或者0 即表示,数字的字段! select * from 表名 where isnull(字段名,'')<>'' 同时排除空值和null的情况 select coo ...
- 车销宝无线开单PDA 一款互联网+POS神器 无缝与电脑数据同步 无线POS开单解决方案
1.无线POS开单解决方案是基于后台系统开发的一套系统,它实现了采购入库退货.销售出库退货.盘点调拨等功能. 2.系统通过(WIFI.GPRS.GSM.蓝牙)实时后台库存.客户.商品.价格跟踪等信息, ...