Python的生态系统中有很多优秀的第三方模块库,请问有哪些经典的python库值得推荐呢?
东方不败
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的库。