11个实用但你可能不知道的Python程序库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们。单单PyPi上就有超过47000个包列表。

现在,越来越多的数据科学家开始使用Python,虽然他们从pandasscikit-learnnumpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库。在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看。

1) delorean

Dolorean是一个非常酷的日期/时间库。类似JavaScript的moment,拥有非常完善的技术文档。

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

2) prettytable

你可能从未听过该库,因为它托管在GoogleCode。prettytable主要用于在终端或浏览器端构建很好的输出。

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

好吧,我也是首次安装该库。这是一款非常瘦小的语言转换库,支持15种语言。

from snowballstemmer import EnglishStemmer, SpanishStemmerEnglishStemmer().stemWord("Gregory")# GregoriSpanishStemmer().stemWord("amarillo")# amarill

4.wget

你是否还记得,每一次都会因为某个目的而编写网络爬虫工具,以后再也不用了,因为wget就足够你使用了。wget是Python版的网络爬虫库,简单好用。

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

备注:linux和osx用户这样用:from
sh import wget。但是,wget模块还有一个更好的argument handline。

5.PyMC

scikit-learn似乎是所有人的宠儿,但在我看来,PyMC更有魅力。PyMC主要用来做Bayesian分析。

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

6.sh

sh库用来将shell命令作为函数导入到Python中。在bash中使用是非常实用的,但是在Python中不容易记住怎么使用(即递归搜索文件)。

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是一个可以对字符串进行模糊匹配的库,大家有空可以去查看源码

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

8.progressbar

progressbar是一个进度条库,该库提供了一个文本模式的progressbar。

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标注的1,3,4和5版本,在确保唯一性上真的非常方便。

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

11.bashplotlib

bashplotlib是一个绘图库,它允许你使用stdin绘制柱状图和散点图等。

$ pip install bashplotlib$ scatter --file data/texas.txt --pch x

转载原文:http://www.techug.com/11-python-libraries-you-might-not-know

时间: 2024-10-03 05:37:30

11个实用但你可能不知道的Python程序库的相关文章

转:11个实用但你可能不知道的Python程序库

原文来自于:http://www.techug.com/11-python-libraries-you-might-not-know 目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者

【转载】不得不知道的Python字符串编码相关的知识

原文地址:http://www.cnblogs.com/Xjng/p/5093905.html 开发经常会遇到各种字符串编码的问题,例如报错SyntaxError: Non-ASCII character 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128),又例如显示乱码.由于之前不知道编码的原理,遇到这些情况,就只能不断的用各种编码decode和encode.....今天整理一个pyt

你可能不知道的Shell

Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面.Shell这个词是指操作系统中提供访问内核服务的程序. 这篇文章向大家介绍Shell一些非广为人知.但却实用有趣的知识,权当品尝shell主食后的甜点吧. 科普 先科普几个你可能不知道的事实: Shell几乎是和Unix操作系统一起诞生,第一个Unix Shell是肯·汤普逊(Ken Thompson)以Multics上的Shell为模范在1971年改写而成,并命名Thompson sh.即便是后来流行的bash(shel

你可能不知道的Shell(转)

转载自:CoolShell 陈皓 Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面.Shell这个词是指操作系统中提供访问内核服务的程序. 这篇文章向大家介绍Shell一些非广为人知.但却实用有趣的知识,权当品尝shell主食后的甜点吧. 科普 先科普几个你可能不知道的事实: Shell几乎是和Unix操作系统一起诞生,第一个Unix Shell是肯·汤普逊(Ken Thompson)以Multics上的Shell为模范在1971年改写而成,并命名Thompson sh.

你所不知道的html5与html中的那些事(二)

文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些

你所不知道的html5与html中的那些事(四)——文本标签

文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些

关于 Java 性能监控您不知道的 5 件事,第 1 部分

责怪糟糕的代码(或不良代码对象)并不能帮助您发现瓶颈,提高 Java? 应用程序速度,猜测也不能帮您解决.Ted Neward 引导您关注 Java 性能监控工具,从5 个技巧开始,使用Java 5 的内置分析器JConsole 收集和分析性能数据. 当应用程序性能受到损害时,大多数开发人员都惊慌失措,这在情理之中.跟踪 Java 应用程序瓶颈来源一直以来都是很麻烦的,因为 Java 虚拟机有黑盒效应,而且 Java 平台分析工具一贯就有缺陷. 然而,随着 Java 5 中 JConsole 的

Android中Context详解 ---- 你所不知道的Context

转载至 :http://blog.csdn.net/qinjuning 前言:本文是我读<Android内核剖析>第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书. 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context

三剑客老大&quot;awk&quot;名不虚传——你所不知道的awk

三剑客老大"awk"名不虚传 --你所不知道的awk 我们都知道awk做统计非常方便,但是你知道awk也可以用于替换么?我们可以用awk实现sed的功能,甚至比sed更精确(因为可以精确到列). 例如:将配置文件的第5行和第7行注释: [[email protected] ~]# awk 'NR>4&&NR<8{gsub(/^/,"#")}{print NR,$0}' passwd.txt 1  root:x:0:0:root:/root