awesome-python 是一个全能的python百宝箱wiki集合,它基本上包含了所有市面上python牛逼软件的清单介绍。国庆佳节闲来无事,我今天就将介绍这个百宝箱的部分给大家,大牛请绕过。。。
地址请戳: https://github.com/vinta/awesome-python
它主要包含的有:
环境管理
例如 版本管理 pyenv,环境切换管理 virtualenv ,这两个笔者也是经常用的。
包管理
pip 安装,这个相信每个安装包的同学经常都有用到。。
发布
PyInstaller可以将程序打包成跨平台的安装程序;在mac下你可以使用 py2app ,在windows下你可以使用 py2exe
交互类的
可以对你的程序的UI交互进行增强,例如 Jupyter Notebook (IPython) ,bpython ,ptpython 。对于桌面类应用非常有用
文件类的
判断你的图片类型 imghdr
判断你图片的 mime类型 mimetypes
watchdog 这个非常有用,可以监视你的文件变化,并开放接口在文件变化时调用你的程序
时间类的
这里有小编经常用到的 dateutil ,pytz 。when.py 则是和 watchdog类似,是提供时间类的回调方法。
文本处理
这里对于互联网开发的同学就太有用了。。
difflib :检查两块文本的异同
xpinyin: 将汉字转成拼音(这个对于中国开发者来说太有用了。。。譬如你做搜索要支持中文和拼音都能智能识别)
sqlparse :SQL parser, 这个就太强大了,可以解析你的sql, 这样你就可以给sql添加一些语法糖,实现一些比较牛逼的功能,例如 分布式数据库等等,有兴趣的同学可以研究Java的类似应用,目前阿里云上做到的分布式数据库也是类似的想法。
特殊格式的文本处理
python-docx 抓取word文件的内容
PDFMiner 抓取pdf里面的文本内容
Python-Markdown 这个你懂的,很多地方都在用,程序员必懂。
NLP
Jieba:这个就太出名了,基本上在科研界以及小清新界都在用,因为它号称是最好的中文分词。。
图像处理
pagan 是一个头像生成 器
pillow 是图片处理的强大库,一般都使用它就够了
python-qrcode 二维码生成器
imgSeek 图片搜索库
OCR
pyocr 就够了
Database Drivers
MySQL
mysql-python 基本上知道这个就够了,
ORM
关系型数据库,我要推荐以下三个
- Django Models - A part of Django.
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- Peewee - A small, expressive ORM.
其中 Django Models 是从Django中剥离出来的,因为django的广泛流行而流行着。。
SQLAlchemy 就像一艘航空母舰,里面啥都有,而且非常强大,但是可能很多功能你用不到。。
Peewee则是笔者比较喜欢的,她是一朵小清新,小而美。。
Web Frameworks
- Django - The most popular web framework in Python.
- Flask - A microframework for Python.
- Pyramid - A small, fast, down-to-earth, open source Python web framework.
- Bottle - A fast, simple and lightweight WSGI micro web-framework.
- CherryPy - A minimalist Python web framework, HTTP/1.1-compliant and WSGI thread-pooled.
- TurboGears - A microframework that can scale up to a full stack solution.
- web.py - A web framework for Python that is as simple as it is powerful.
- web2py - A full stack web framework and platform focused in the ease of use.
- Tornado - A Web framework and asynchronous networking library.
Django就不说了,简单易用,有专业的技术团队在维护和开发,使用者非常多,未来也不会出现没人使用的情况,开发者可以放心使用。。听说本站点也是使用它来开发完成的。。
Flask是一个轻量的技术框架,注重小清新,近几年使用者也多了起来。
Tornado则是一个高速的轻量框架,技术要求较高,使用得当可以让你的网站变得非常快。。
太多了,我先休息一下。。 待会继续