有哪些经典的python库?

Python的生态系统中有很多优秀的第三方模块库,请问有哪些经典的python库值得推荐呢?

喜欢这个问题 | 分享 | 新建回答

回答

东方不败

Mar 5, 2019
0 赞

Python中优秀的库很多,但能称得上经典的库,大概有如下这些:

requests 人性化的HTTP/HTTPS请求库

python内置的urllib和urllib2的语法不够人性化,用起来有点反人类;而requests库则是对这两者进行封装,让人们以更人性化的操作方式来实现发送网络请求的功能。基本上,大多情况下,urllib2的用武之地,都可以用requests库去搞定。为requests库点个赞!

tornado 异步高性能的web框架

tornado框架的特点是异步,这确实是它的一个显著特点;但是就算没有异步这个特点,tornado也是非常优秀的一个web框架,用起来很舒服,不轻不重,正正好;它还提供了专门处理Websocket的功能模块;在安全方面,也做了很多小举动,比如对cookie进行加密、防止跨站伪造请求等。总之,这是一个值得推荐的web框架。

flask 轻灵而强大的web框架

flask的轻重水平类似tornado框架,用起来也是非常舒适。它用语法糖的方式声明路由,非常实用。此外flask提供了很多相关插件。flask确实值得推荐。

web2py 全面而敏捷的web框架

web2py是非常全面,但同时也能适应敏捷开发的web框架;而且web2py兼容GAE(Google App Engine)。这也是一款值得推荐的框架。

web.py 简单而强大的web框架

web.py简单而强大,该框架由已故美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发的。个人感觉,该框架相对flask和tornado相比,相对轻了一些。

django 功能较多的web框架(django的d是不发音的)

django的功能较全面,自动化程度较高;整体来说,比flask和tornado重。该框架的名声很大,个人并不建议初学者学习django框架。学习web框架应先从轻量级框架学起,再逐步学习更重的框架。

NTLK 自然语言处理工具

主要是针对英文的,这个库极其棒。

SnowNLP 针对中文的自然语言处理工具

这是针对中文的,这个库也很棒。

Sphinx 全文检索引擎

pillow Pillow/PIL图形处理库

简单的图形处理可以使用这个库,太过复杂则应选型更加适合的图形库。

opencv 视觉识别库

使用python学习opencv,是一件极其推荐的事情,可以快速了解opencv的功能梗概,同时快速获取使用opencv库进行图像识别的能力。

numpy 科学计算工具包(可用来存储、处理大型矩阵)

matplotlib 绘制图表的工具

Jinja2 模板引擎

有很多web框架的模板引擎都是基于Jinja2模板引擎的。

scrapy 爬虫框架

Python的爬虫框架不得不提起scrapy,但个人推荐爬虫框架应自己裸写。(个人观点,仅供参考)

selenium 浏览器自动化测试框架

gevent 异步框架

ansible 自动化运维工具

supervisor 进程监控系统

通过supervisor可以做到相对自动运维,比如某个进程挂了,supervisor就离开自动让它重启。使用supervisor来监控web服务器进程是一个不错的选择。

virtualenv 创建独立的python虚拟环境

fabric 用于远程执行与代部署的小工具



查看更多的python库,请查看这里,这里收集了很多python的库。