牧者

大风起兮云飞扬

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

Python 常用库

20个必不可少的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功能,以及其他很多很多方面。一定要研究一下它。
【Python系统运维常用库】
1、psutil是一个跨平台库(http://code.google.com/p/psutil/)
能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。
2、IPy(http://github.com/haypo/python-ipy),辅助IP规划。
3、dnspython(http://dnspython.org)Python实现的一个DNS工具包。
4、difflib:difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。
5、filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。
6、smtplib:发送电子邮件模块
7、pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。
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、CGIHTTPRequestHandler实现对CGI的支持。
16、ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。
17、YAML:是一种用来表达数据序列的编程语言。
18、playbook:一个非常简单的配置管理和多主机部署系统。
19、saltstack(http://saltstack.com)是一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。
20、func,为解决集群管理,监控问题需设计开发的系统管理基础框架。
 
Python 有哪些好的 Web 框架? - 知乎 https://www.zhihu.com/question/20706333
standard libs:
  • itertools 
  • functools  学好python有必要掌握上面这两个库吧,
  • re 正则
  • subprocess  调用shell命令的神器
  • pdb 调试
  • traceback 调试
  • pprint 漂亮的输出
  • logging 日志
  • threading和multiprocessing 多线程
  • urllib/urllib2/httplib http库,httplib底层一点,推荐第三方的库requests
  • os/sys 系统,环境相关
  • Queue 队列
  • pickle/cPickle 序列化工具
  • hashlib md5, sha等hash算法
  • cvs
  • json/simplejson python的json库,据so上的讨论和benchmark,simplejson的性能要高于json
  • timeit 计算代码运行的时间等等
  • cProfile python性能测量模块
  • glob 类似与listfile,可以用来查找文件
  • atexit 有一个注册函数,可用于正好在脚本退出运行前执行一些代码
  • dis python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。

3th libs:

用来操作图像的库.

    • pillow – Pillow 是一个更加易用版的 PIL。 
      hmap – 图像直方图映射。 
      imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。 
      nude.py – 裸体检测。 
      pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。 
      pygram – 类似 Instagram 的图像滤镜。 
      python-qrcode – 一个纯 Python 实现的二维码生成器。 
      Quads – 基于四叉树的计算机艺术。 
      scikit-image – 一个用于(科学)图像处理的 Python 库。 
      thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。 
      wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。 
      OCR

光学字符识别库。

pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。 
pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。 
python-tesseract – Google Tesseract OCR 的一个包装类。 
音频用来操作音频的库

audiolazy -Python 的数字信号处理包。 
audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。 
beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具 
dejavu – 音频指纹提取和识别 
django-elastic-transcoder – Django + Amazon Elastic Transcoder。 
eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。 
id3reader – 一个用来读取 MP3 元数据的 Python 模块。 
m3u8 – 一个用来解析 m3u8 文件的模块。 
mutagen – 一个用来处理音频元数据的 Python 模块。 
pydub – 通过简单、简洁的高层接口来操作音频文件。 
pyechonest – Echo Nest API 的 Python 客户端 
talkbox – 一个用来处理演讲/信号的 Python 库 
TimeSide – 开源 web 音频处理框架。 
tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。 
mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。 
视频

用来操作视频和GIF的库。

moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。 
scikit-video – SciPy 视频处理常用程序。 

 

posted on 2022-01-18 11:33  牧者.D  阅读(192)  评论(0)    收藏  举报