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 Delorean EST = "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 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 | + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + |
3) snowballstemmer
snowballstemmer
,是因为我觉得这个名字很酷炫。但它的确是一个小巧好使的包。snowballstemmer
通过porter stemmer算法来提取15种语言的单词词干。
1
2
3
4
5
|
from snowballstemmer import EnglishStemmer, SpanishStemmer EnglishStemmer().stemWord( "Gregory" ) # Gregori SpanishStemmer().stemWord( "amarillo" ) # amarill |
4) wget
wget
.想要以递归的方式下载所有页面?想要抓取页面上的每张图?想要避免cookie追踪?wget
可以给你想要的一切。从柯克兰(寝室名)开始,这里的一切公共目录都是公开的,还允许在Apache系统里插入目录。所以用个wget就能下载柯克兰全部的照片库里的图片了。易如反掌!
1
2
3
|
import wget wget.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_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 |
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 find find( "/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 fuzz fuzz.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 ProgressBar import time pbar = 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 uuid print 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中的总体使用情况而 ...
随机推荐
- October 27th Week 44th Thursday 2016
The art of being wise is the art of knowing what to overlook. 智慧之道在于懂得该忽略什么. Always do your best. Wh ...
- superSlider实现美女轮播图
superSlider实现美女轮播图 <!DOCTYPE html><html lang="en"><head><meta charset ...
- HDU5988 Coding Contest(费用流)
2016青岛现场赛的一题,由于第一次走过不会产生影响,需要拆点,不过比赛时没想到,此外还有许多细节要注意,如要加eps,时间卡得较紧要注意细节优化等 #include <iostream> ...
- Hive的三种安装方式(内嵌模式,本地模式远程模式)
一.安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. 1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) ...
- PPT演示快捷键
序号 快捷键作用 快捷键 1 从头开始放映 Ctrl+F5 2 从当前页开始放映 Shift+F5 3 隐藏/显示鼠标指针 Ctrl+H/U 4 标记笔 Ctrl+P 5 荧光笔 ...
- Python初探-购物车程序
要求: 1,用户进入后,有欢迎语并提示用户输入本金 2.用户输入正确的内容后有购物菜单显示给用户 3.当用户的本金不足以购买商品的时候有提示余额不足并告知差额 4.成功购物后提示已购买内容和购买后的余 ...
- python 爬虫(三)
爬遍整个域名 六度空间理论:任何两个陌生人之间所间隔的人不会超过六个,也就是说最多通过五个人你可以认识任何一个陌生人.通过维基百科我们能够通过连接从一个人连接到任何一个他想连接到的人. 1. 获 ...
- 手持移动扫描终端 PDA移动开单系统-批发零售管理
条码数据采集器通过扫描商品条码移动开单,实现便携式办公,伴随式销售,是我公司的一款最新便携式开单配套产品,采集器能通过WIFI无线局域网.GPRS互联网直接与主机连接,让公司业务人员能随时随地了解公司 ...
- UI设计颜色风格
有关颜色搭配方案: 摘取:http://bbs.9ria.com/thread-395-1-1.html 有关设计,可以参考:http://www.sj33.cn/
- PHP CI框架 result()详解
该方法执行成功返回一个对象数组,失败则返回一个空数组. 一般情况下,我们使用下面的方法遍历结果,代码就像这样: $query = $this->db->query("要执行的 S ...