盘诚文摘好记性不如烂博客

Python各类常用库整理


一、20个必不可少的Python库

  1. Requests : Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。
  2. Scrapy : 如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。
  3. wxPython : Python的一个GUI(图形用户界面)工具。主要用它替代tkinter。你一定会爱上它的。
  4. Pillow : 它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
  5. SQLAlchemy : 一个数据库的库。对它的评价褒贬参半。是否使用的决定权在你手里。
  6. BeautifulSoup : 知道它很慢,但这个xml和html的解析库对于新手非常有用。
  7. Twisted : 对于网络应用开发者最重要的工具。它有非常优美的api,被很多Python开发大牛使用。
  8. NumPy : 们怎么能缺少这么重要的库?它为Python提供了很多高级的数学方法。
  9. SciPy : 既然们提了NumPy,那就不得不提一下SciPy。这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。
  10. matplotlib : 一个绘制数据图的库。对于数据科学家或分析师非常有用。
  11. Pygame : 哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼。
  12. Pyglet : 3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。
  13. pyQT : Python的GUI工具。这是在给Python脚本开发用户界面时次于wxPython的选择。
  14. pyGtk : 也是Python GUI库。很有名的Bittorrent客户端就是用它做的。
  15. Scapy : 用Python写的数据包探测和分析库。
  16. pywin32 : 一个提供和windows交互的方法和类的Python库。
  17. nltk : 自然语言工具包。知道大多数人不会用它,但它通用性非常高。如果你需要处理字符串的话,它是非常好的库。
  18. nose : Python的测试框架。被成千上万的Python程序员使用。如果你做测试导向的开发,那么它是必不可少的。
  19. SymPy : SymPy可以做代数评测、差异化、扩展、复数等等。它封装在一个纯Python发行版本里。
  20. IPython : 怎么称赞这个工具的功能都不为过。它把Python的提示信息做到了极致。包括完成信息、历史信息、shell功能,以及其他很多很多方面。

二、标准库

  1. itertools :http://docs.python.org/2/library/itertools.html
  2. functools : 学好python有必要掌握上面这两个库http://docs.python.org/2/library/functools.html
  3. re : 正则
  4. subprocess : 调用shell命令的神器http://docs.python.org/2/library/subprocess.html
  5. pdb : 调试
  6. traceback : 调试
  7. pprint : 漂亮的输出
  8. logging : 日志
  9. threading和multiprocessing : 多线程
  10. urllib/urllib2/httplib : http库,httplib底层一点,推荐第三方的库requests
  11. os/sys : 系统,环境相关
  12. Queue : 队列
  13. pickle/cPickle : 序列化工具
  14. hashlib : md5, sha等hash算法
  15. cvs
  16. json/simplejson : python的json库,据so上的讨论和benchmark,simplejson的性能要高于json
  17. timeit : 计算代码运行的时间等等
  18. cProfile : python性能测量模块
  19. glob : 类似与listfile,可以用来查找文件
  20. atexit : 有一个注册函数,可用于正好在脚本退出运行前执行一些代码
  21. dis : python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。

三、常用第三方库

  1. scrapy : 爬虫
  2. matplotlib : 画图
  3. numpy : scipy 科学计算
  4. redis : redis python接口
  5. pymongo : mongodbpython接口
  6. ipdb : 调试神器,推荐结合ipython使用。
  7. lxml : python 解析html,xml 的神器。http://lxml.de/
  8. xmltodict : xml 转 dict,真心好用。https://github.com/martinblech/xmltodict
  9. flask : web 微框架。http://flask.pocoo.org/python
  10. PIL : python图像处理。http://www.pythonware.com/products/pil/
  11. mako : python模版引擎。http://www.makotemplates.org/
  12. paramiko : ssh python 库。https://github.com/paramiko/paramiko
  13. selenium : 浏览器自动化测试工具selenium的python 接口。https://pypi.python.org/pypi/selenium
  14. mechanize : Stateful programmatic web browsing。https://pypi.python.org/pypi/mechanize/
  15. pycurl : cURL library module for Python。https://pypi.python.org/pypi/pycurl
  16. Fabric : Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.。http://docs.fabfile.org/en/1.8/
  17. urllib3 和 requests : 当然其实requests就够了 Requests: HTTP for Humans
  18. django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy : python web框架/服务器
  19. sh 1.08 : sh v1.08 documentation 用来运行shell 模块的 极佳选择

四、系统运维常用库

  1. psutil : 一个跨平台库,能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。http://code.google.com/p/psutil/
  2. IPy : 辅助IP规划。http://github.com/haypo/python-ipy
  3. dnspython :Python实现的一个DNS工具包。http://dnspython.org
  4. difflib : difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。
  5. filecmp : 系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。
  6. smtplib : 发送电子邮件模块
  7. pycurl : 一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。http://pycurl.sourceforge.net
  8. XlsxWriter : 操作Excel工作表的文字,数字,公式,图表等。
  9. rrdtool : 用于跟踪对象的变化,生成这些变化的走走势图
  10. scapy : 一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。http://www.wecdev.org/projects/scapy/
  11. Clam Antivirus : 免费开放源代码防毒软件,pyClamad,可以让Python模块直接使用ClamAV病毒扫描守护进程calmd。
  12. pexpect : 可以理解成Linux下expect的Python封装,通过pexpect们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。
  13. paramiko : 基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址:http://paramiko.org(依赖:Crypto,Ecdsa,Python开发包python-devel)
  14. fabric : 基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric在paramiko的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org(依赖setuptools,Crypto,paramiko包支持)
  15. CGIHTTP : RequestHandler实现对CGI的支持。
  16. ansible : 一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。http://www.ansibleworks.com/
  17. YAML : 一种用来表达数据序列的编程语言。
  18. playbook : 一个非常简单的配置管理和多主机部署系统。
  19. saltstack :一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。http://saltstack.com
  20. func : 为解决集群管理,监控问题需设计开发的系统管理基础框架。
转载:感谢您对盘诚格志博客网站的认可,以及对盘诚原创文章和文摘的青睐。若引用、转载或分享到个人网站或者朋友圈,请注明出处及作者信息,不甚感激!盘诚保留所有最终解释权。

扫一扫分享本页