关于一些常用到的python库,在这里收集整理一下概念,大致熟悉一下,等到遇到的时候,心里就有个底了
time,bson,hashlib ,os,random,Image,ImageEnhance,math,smtplib,email,uuid,urllib,re,syslog,traceback,functools,jinja2,Werkzeug,redis,pymongo,flask
主要是搞清楚两个问题:1.它是什么(What)?2.怎么用(How)?视情况阐述,不具体阐述用法,只尽量简洁清楚的搞清楚大致使用流程,大体的印象即可。
1.time,
(1) 关于时间的相关处理的模块,有time,datetime以及calendar。
(2) 属于工具类模块,具体使用可参阅:http://docs.python.org/2/library/time.html和http://qinxuye.me/article/details-about-time-module-in-python/
2.bson,
3.hashlib ,
(1)hashlib是个专门提供hash算法的库,现在里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。
md5经常用来做用户密码的存储。而sha1则经常用作数字签名。(摘自http://blog.csdn.net/zhaoweikid/article/details/1640516)
(2)属于工具类模块
- #-*- encoding:utf-8 -*-
- import hashlib
- a = "a test string"
- print hashlib.md5(a).hexdigest()
- print hashlib.sha1(a).hexdigest()
- print hashlib.sha224(a).hexdigest()
- print hashlib.sha256(a).hexdigest()
- print hashlib.sha384(a).hexdigest()
- print hashlib.sha512(a).hexdigest()
4.os,
(1)Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。
5.random,
(1)random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。(摘自http://my.oschina.net/cuffica/blog/33336)
6.Image,
(1)Python Imaging Library (PIL)
PIL 具備 (但不限於) 以下的能力:
- 數十種圖檔格式的讀寫能力。常見的 JPEG, PNG, BMP, GIF, TIFF 等格式,都在 PIL 的支援之列。另外,PIL 也支援黑白、灰階、自訂調色盤、RGB true color、帶有透明屬性的 RBG true color、CMYK 及其它數種的影像模式。相當齊全。
- 基本的影像資料操作:裁切、平移、旋轉、改變尺寸、調置 (transpose)、剪下與貼上等等。
- 強化圖形:亮度、色調、對比、銳利度。
- 色彩處理。
- PIL 提供十數種濾鏡 (filter)。當然,這個數目遠遠不能與 Photoshop® 或 GIMP® 這樣的專業特效處理軟體相比;但 PIL 提供的這些濾鏡可以用在 Python 程式裡面,提供批次化處理的能力。
- PIL 可以在影像中繪圖製點、線、面、幾何形狀、填滿、文字等等。(摘自http://tech.seety.org/python/python_imaging.html)
1、Image模块
最基本的模块,每个Image对象对应了一幅图像
2、ImageDraw模块
提供基本的图形绘制。可绘制直线、弧线、矩形、多边形、椭圆、扇形等等。
3、ImageEnhance模块
提供图像增强功能。可以用来进行色彩增强、亮度增强、对比度增强、图像尖锐化等等增强操作。所有操作都有相同形式的接口—— 通过相应类的 enhance 方法实现: 色彩增强通过 Color类的 enhance 方法实现;亮度增强通过 Brightness 类的 enhance 方法实现;对比度增强通过 Contrast 类的 enhance 方法实现;尖锐化通过 Sharpness 类的 enhance 方法实现。 (摘自http://www.haogongju.net/art/1379060)
7.ImageEnhance,
见PIL
8.math,
math模块实现了许多对浮点数的数学运算函数. 这些函数一般是对平台 C 库中同名函数的简单封装, 所以一般情况下, 不同平台下计算的结果可能稍微地有所不同, 有时候甚至有很大出入 。
cmath模块包含了一些用于复数运算的函数. cmath模块的函数跟math模块函数基本一致,区别是cmath模块运算的是复数,math模块运算的是数学运算.
9.smtplib,
在基于互联网的应用中,程序经常需要自动地发送电子邮件。如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码。smtplib模块是python中smtp(简单邮件传输协议)的客户端实现。我们可以使用smtplib模块,轻松的发送电子邮件。(摘自http://blog.csdn.net/jgood/article/details/4329532)
10.email,
发送邮件的模块
11.uuid,
uuid是一种唯一标识,在许多领域作为标识用途。python的uuid模块就是用来生成它的。
闲话不说,python提供的生成uuid的方法一共有4种,分别是:
1.从硬件地址和时间生成
2.从md5算法生成
3.随机生成
4.从SHA-1算法生成
他们在uuid模块里对应uuid1, uuid3, uuid4, uuid5这几个方法,注意没有uuid2。(摘自http://blog.csdn.net/zhaoweikid/article/details/1649786)
12.urllib,
urlib和urllib2不可以相互替代,有区别
1. 抓取网页信息
13.re,
python中的正则表达式模块
14.syslog,
(只用于 Unix 可选) syslog 模块用于向系统日志设备发送信息( syslogd ). 这些信息如何处理依不同的系统而定, 通常会被记录在一个 log 文件中, 例如 /var/log/messages , /var/adm/syslog ,
15.traceback,
traceback模块被用来跟踪异常返回信息
16.functools,
17.jinja2,
Jinja2是基于python的多功能的被广泛使用的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它支持unicode,并具有集成的沙箱执行环境。(摘自http://baike.baidu.com/view/6749819.htm)
18.Werkzeug,
19.redis,
20.pymongo,
操作mongodb数据库
21.flask
是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。Flask使用 BSD 授权。