我的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)

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

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 另一种科学作图的脚本语言


你可能感兴趣的:(python)