提供python接口有用的库

python版本
windows上使用的是python2.7.2, 32位版本。
如何查看python是32位还是64位:
import struct
struct.calcsize("P")
如果是4,说明是32位的;如果是其他的是,64位的。struct.calcsize用于计算格式字符串所对应的结果长度。


ipython
一个比默认python shell好用的命令行工具:
http://ipython.org/documentation.html
它在MS Windows上运行依赖于pyreadline,于是用下面命令行安装:
easy_install pyreadline
经查证,pyreadline提供了命令行下的颜色服务。
使用:在命令行cmd下键入 ipython就可以使用,退出只需敲 exit
要用matplotlib based python (免除再次键入imoprt  numpy等),可以用如下命令:
ipython --pylab
特点:敲击TAB键可以自动补全。
ipython 还能帮助查看引用的模块是否正确:例如自己写了一个controlMysql.py的模块,但调用这个模块的一个类的时候总是会出现这样的错误——AttributeError: 'module' object has no attribute 'ControlMysql'。在ipython 中检查,首先import该模块,然后输入模块名称,敲入?,即 controlMysql? 得到这样的返回结果
File:       /Users/***/nostuck/ReadExcel/dbscripts/controlMysql.pyc
和自己预想的不同,修改之,解决模块引入的问题。


spyder
仿matlab的python IDE,可以查看和修改数组
http://code.google.com/p/spyderlib/
因为它的运行依赖于PySide或者PyQt,故用下面命令行安装:
easy_install PySide
经查证,PySide和PyQt是Python语言的GUI编程解决方案之一。


matplotlib
科学文献插图工具,提供高质量的论文插图
http://matplotlib.sourceforge.net/gallery.html


numpy
扩展python的数组,提供多维数组和矩阵计算
http://www.scipy.org/NumPy_for_Matlab_Users


scipy
提供科学计算工具,numpy+scipy+matplotlib,就可以替代除toolbox之外的大部分matlab的功能。
http://www.scipy.org/Getting_Started


NetworkX
提供图论工具,可以引入常用的数据集,可以进行度、直径等统计,可以借助matplotlib将图可视化。
http://networkx.lanl.gov/


setuptools
管理包的工具,可以跨平台,windows中推荐使用,mac os中不能解决依赖问题,推荐使用macports。
下载位置:http://peak.telecommunity.com/dist/ez_setup.py
点击ez_setup.py运行,即可安装。
之后,再将easy_install添加到PATH中,它所在的位置是Python安装路径下面的Scripts文件夹。


nltk
自然语言处理工具集,能够分词、语法分析等,还提供了丰富的语料库来做实验
http://nltk.org/
下载语料库的方法
import nltk
nltk.download()
弹出窗口后就可以选择需要下载的内容。
nltk拥有丰富的文档集,不用自己再去下载。使用方法如下所示(引自 http://nltk.googlecode.com/svn/trunk/doc/book/ch02.html):
>>> import nltk
>>> nltk.corpus.gutenberg.fileids()
['austen-emma.txt', 'austen-persuasion.txt', 'austen-sense.txt', 'bible-kjv.txt',
'blake-poems.txt', 'bryant-stories.txt', 'burgess-busterbrown.txt',
'carroll-alice.txt', 'chesterton-ball.txt', 'chesterton-brown.txt',
'chesterton-thursday.txt', 'edgeworth-parents.txt', 'melville-moby_dick.txt',
'milton-paradise.txt', 'shakespeare-caesar.txt', 'shakespeare-hamlet.txt',
'shakespeare-macbeth.txt', 'whitman-leaves.txt']
>>> emma = nltk.corpus.gutenberg.words('austen-emma.txt')
>>> len(emma)
192427


scikits-learn
scikits家族成员很多,有做统计分析的,有做语音识别、图像处理的,有做Unsymmetric的(这个完全不知道)。
这里用到的是做机器学习的,mac上可以用sudo port install py27-scikits-learn安装
它具体可以处理聚类(包括DBSCAN、k-means、Hierachical等经典算法)、分类,还提供了学习效果的评价指标,这些指标都有单独的模块来完成。
http://scikit-learn.org/stable/auto_examples/applications/plot_species_distribution_modeling.html


PyML
port 对它的介绍是:Machine learning framework for SVMs and other kernel methods
http://pyml.sourceforge.net/index.html
module引入的时候必须要大写,这个很麻烦,而且功能感觉没有那么强大。


chardet
用port安装 py27-chardet
port对它的介绍是: Universal character encoding detector 通用的字符编码检测器
可以用它检测各个网页和文件以及字符串采用的字符编码方式:
>>> import urllib
>>> rawdata = urllib.urlopen('http://www.google.cn/').read()
>>> import chardet
>>> chardet.detect(rawdata)
[python] view plaincopy
import chardet  
input=file.open("D://hello.txt")  
str=input.readline()  
chardet.detect(str)  
input.close  
结果诸如:
{'confidence': 0.99, 'encoding': 'Big5'}
Python Imaging Library (PIL)
网站网址:http://www.pythonware.com/products/pil/
用于图片处理的强大工具,最简单的一个应用例子就是将图片从jpg格式转换为eps.


pygraphviz
还是networkx出品,用于调用graphviz的python接口,非常好用好玩。可以写脚本一样画流程图,不用visio。
http://networkx.lanl.gov/pygraphviz/
提供网友有创意的流程图
http://www.icodeit.org/使用graphviz绘制流程图/
http://blog.csdn.net/quentinch/article/details/2662569
http://blog.kurrunk.com/archives/83062
例如
用文本文件编辑test.dot:
digraph G{
“身份验证”->”功能列表”[label="通过"];
“身份验证”->”登录页”[label="拒绝"];
“功能列表”->”新建实验”;
“功能列表”->”实验列表”;
“实验列表”->”查看实验”;
}
然后执行命令:$dot test.dot -Tpng -o test.png


MySQLdb for Python
访问mysql的python利器。
http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/
windows版本可以选择那种完整安装包,免去配环境的麻烦
如果是mac os安装,sudo port install py27-mysql 不过用这种方式安装会有个问题,mysql又被重新安装一遍。


simplejson
用于解析json,例如针对google api返回的json,可以用该工具进行解析simplejson.load(response) 即可


准备试用:
PyX 对matplotlib的一个补充
Asymptote 另一种科学作图的脚本语言
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python对外提供接口是指Python编程语言通过其标准和第三方提供了一些函数、类和方法,以方便开发者与其他编程语言、系统和服务进行交互和集成。 首先,Python的标准中包含了大量的模块和函数,提供了丰富的接口供开发者使用。例如,通过`os`模块可以与操作系统进行交互,包括文件操作、进程管理等;`socket`模块提供了与网络进行通信的接口;`json`模块提供了与JSON数据进行解析和生成的接口等等。这些标准提供接口能够满足开发者在各种场景下与外部系统和服务进行交互的需求。 其次,Python生态圈中有众多的第三方提供了更多丰富的接口供开发者使用。例如,`requests`提供了HTTP请求的接口,方便开发者与Web服务进行交互;`pandas`提供了高效的数据处理和分析接口;`numpy`提供了强大的数值计算接口等等。这些第三方对应着不同的应用领域,让Python在不同的领域中可以进行更加广泛的集成和应用。 最后,Python还支持通过扩展模块的方式对外提供接口。通过C/C++等语言编写的扩展模块可以与Python解释器进行交互,并提供高效的、底层的接口供其他语言使用。这使得Python在与其他编程语言进行交互和集成时,具有了更强大的能力和灵活性。 综上所述,Python对外提供接口通过其标准、第三方和扩展模块的方式来实现,使得开发者可以方便地与其他编程语言、系统和服务进行交互和集成,从而扩展了Python的应用领域和能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值