[转]Python 模块大全
1 算法
1.1 字符串处理
re
正则表达式的标准库。
StringIO / cStringIO
以读写文件的方式来操作字符串(有点类似于内存文件)。
cStringIO 是 C 语言实现的,提供高性能;而 StringIO 是 Python 实现的,提供 Unicode 兼容性。
chardet
chardet 可以猜测任意一段文本的字符集编码。对于编码类型未知的文本,它会很有用。
chardet 既可以作为模块来使用,也可以作为命令行工具来使用。
1.2 数学类
math
这个标准库顾名思义,封装了常用的数学函数(开方、指数、对数、三角函数、等)
random
这个标准库顾名思义,是用来进行随机数生成的
fractions
这个标准库封装了跟有理数(分数)相关的运算
1.3 安全类
hashlib
在 Python 2.5 版本加入到标准库中。通过它,你可以很方便地计算各种散列值。
它支持的哈希算法有:MD5 SHA1 SHA224 SHA256 SHA384 SHA512
关于散列算法,俺写过一篇扫盲(在这里)。
PyCrypto
这个库包含了常见的对称加密算法(DES、AES、IDEA、等)、公钥加密算法(RSA、DSA、等)、散列算法(MD5、SHA1、RIPEMD、等)。
pyOpenSSL
OpenSSL 在加密领域可是大名鼎鼎。这个库使用 Python 对 OpenSSL 进行很薄的封装。
2 跨编程语言
Python 可以很容易地跟其它编程语言整合。整合之后,就可以在 Python 代码中使用其它编程语言的函数、模块、库,非常爽!
2.1 整合 C / C++ 语言
ctypes
ctypes 在 Python 2.5 版本加入到标准库中。
通过它,你可以很方便地调用 C/C++ 动态库导出的函数,可以在 Python 中使用各种 C/C++ 的数据类型(比如指针)。
SWIG
这是一个很老牌的、有名气的工具,它可以把多种语言(Java、Python、C#、Ruby、PHP、Perl、Lua、Go、等)整合到 C/C++ 中。
Cython
这个工具可以让你用 Python 的语法写扩展模块的代码,然后它帮你把 Python 代码编译为本地动态库(机器码)。
用它编译出来的扩展模块,其性能跟 C/C++ 编写的扩展模块相当。
2.2 整合 JVM 平台
Jython
通过 Jython 可以让 Python 代码运行在 JVM 上,并且可以调用其它的 JVM 语言的代码(比如 Java Scale)
2.3 整合 dotNet 平台
IronPython
通过 IronPython 可以让 Python 代码运行在 dotNET 平台上,并且可以调用其它的 dotNET 语言的代码(比如 C# F#)
2.4 整合 Objective-C 语言
PyObjC
这是用 Python 封装 Mac OS X 上的 Objective-C 库。
3 操作系统相关
os
这是一个非常基本的标准库,提供了常见的操作系统相关操作。
3.1 文件和目录操作
shutil
相对于 os 标准库,shutil 标准库提供了一些比较高级的文件和目录操作(目录递归复制、目录递归删除、目录压缩打包、等)
glob
这个标准库用于查找文件(支持通配符)
fnmatch
这个标准库用于匹配文件名(支持通配符)
tempfile
使用这个标准库,可以安全地生成临时文件或临时目录。
3.2 本地进程间通信(IPC)
subprocess / multiprocessing
用于进程管理的标准库,可以启动子进程,通过标准输入输出跟子进程交互。
其中 multiprocessing 是 2.6 版本加入到标准库的。
signal
用于进程信号处理的标准库。
mmap
提供了内存映射文件的支持。
GUI图形库
wxPython
运算库
decimal 实现十进制运算适合会计方面的高精度
fractions
绘图
turtle