“人生苦短,我用python”--------吉多·范罗苏姆
只统计常用的模块的方法
模块的简介
1.模块:人为编辑的一个代码包,这些代码包有着自己的作用
2.模块的分类:内置模块,第三方模块,其中内置模块可以直接导入,而第三方模块需要安装
3.第三方模块的在线安装方式:在cmd窗口下通过
pip install 模块名(或者python -m pip install 模块名)
4.文件导入的三种方式:
(1)import 模块名
(2)import 模块名 as 别名
(3)from 包 import 模块名
random模块
方法名 | 用法 |
---|
randint() | 产生随机整数[m,n] |
random() | 产生0-1的随机数[0,1) |
uniform() | 产生正态分布的随机数 |
randrange() | 产生一个范围内的随机数 |
choices() | 用在序列(容器)(有序的序列)随机筛取一个元素 |
math模块
方法名 | 用法 |
---|
ceil | 向上取整 |
floor | 向下取整 |
e | 属性 自然常数 |
fabs | 求绝对值 等价 abs() 全局函数 |
fmod | 求模运算 |
isnan | 判断是不是数字 (是数字返回 false nan -----not a number) |
isfinite | 判断是不是无限 |
pi | 圆周率 |
pow | 幂次方 |
sqrt | 平方根 |
os模块
方法名 | 用法 |
---|
chdir() | 修改工作目录 |
curdir | 获取当前的目录 返回的结果的是相对路径 |
chmod() | 修改权限 |
close | 关闭文件的路径 |
cpu_count() | 返回的cpu的核对应得线程数 |
getcwd() | 获取当前路径,返回得是绝对路径,相当linux下pwd |
getpid() | 获取当前进程的进程编号 |
getppid() | 获取当前进程的父进程的进程编号 |
kill() | 通过进程编号杀死进程 |
linesep | 属性 对应系统下的换行符 |
listdir() | 返回的对应目录下所有的文件和文件夹(隐藏的文件夹),返回的是列表 |
makedirs() | 创建目录,支持多层目录的创建 |
mkdir() | 创建目录,只能创建一层,不支持多层 |
open() | 创建文件 open()全局函数 |
pathsep | 获取环境变量分隔符 windows ; linux分割符 : |
sep | 获取路径分割符 |
remove(文件名或者路径) | 删除文件 |
removedirs() | 删除目录,支持多级删除(递归) |
system() | 执行终端命令 |
os.path子模块
方法名 | 用法 |
---|
abspath(相对路径) | 返回的路径的所对应的绝对路径 |
altsep | 返回的python中的分隔符 |
basename | 文件名称 |
dirname | 文件目录 |
exists | 判断文件或者目录是否存在 |
getctime | 获取时间(创建时间) |
getmtime | 获取修改时间 |
getsize | 获取文件的大小,单位是字节 |
isdir | 判断path是否是目录(文件夹) |
isfile | 判断path是否是文件 |
isabs | 判断是不是绝对路径 |
islink | 判断是不是链接 |
ismount | 判断是不是挂载文件 |
join | 拼接路径 |
sep | 路径分隔符 |
split | 分割路径 |
relpath | 返回的真正的路径和abspath一样 |
sys模块
方法名 | 用法 |
---|
api_version | 属性 获取python内部的版本号 |
argv | 接收脚本参数 |
copyright | 输出cpython版本号 |
exit | 退出系统 |
getdefaultencoding() | 获取的默认编码,python3默认编码是utf-8 |
getfilesystemencoding() | 获取文件系统的默认编程,默认utf-8 |
getrecursionlimit() | 获取python对递归的限制层数 |
setrecursionlimit() | 重新设置递归的限制的层数 |
getrefcount(对象) | 获取对象的引用计数,是垃圾回收机制里的引用计数,注意任何对象都 |
getwindowsversion() | 获取当前窗口的版本信息 |
version | 获取版本信息 |
time模块
方法名 | 用法 |
---|
asctime() | 获取当前时间 |
ctime() | 获取当前时间 |
localtime() | 获取的本地时间,返回的是对象 |
sleep() | 表示休眠的时间,单位秒 |
time() | 获取当前系统的时间戳,单位也是秒 |
strftime() | 将时间对象格式化成字符串 |
strptime() | 将一个特定的时间字符串转换为时间对象 |
datetime模块
加密算法简介
加密算法的分类:
1.可逆算法
(根据是否使用同一秘钥分成了2种)
(1)对称加密
例:DES算法(加密解密时使用同一秘钥)
(2)不对称加密
例:https协议 RSA算法(加密解密时不使用同一秘钥)
2.不可逆算法
(不可逆结果唯一)
例:MD5
hashlib库
1.哈希算法
import hashlib
2.使用步骤:
(1) 创建算法对象,返回的是算法对象
md5 = hashlib.md5()
例:一个字符串加密的话md5=hashlib.md5(“123”.encode(“utf-8”))
3.盐值混淆
md5.update(”盐值“.encode(“utf-8”))//向刚才的字符串中输入盐值
最后用md5.hexdigest()输出
(盐值越复杂,加密的安全性就越高)
hamc库
也是一个哈希加密库,用到了对称加密
new()
参数:第一个参数是要加密的字符串,第二个参数盐值,第三个参数是加密算法
首先使用对称加密(密钥就是盐值),得到加密的结果之后又进行了一次hash加密(盐值混淆)
uuid模块
方法名 | 用法 |
---|
uuid 模块 | 一般会用在文件上传或者文件备份的时候 产生一个永不重复的字符串 |
对象序列化简介
字典 列表 元组 集合 -------------- 对象
序列化:将抽象的这些对象的概念转换真正的字符或者字节数据
pickle模块
方法名 | 用法 |
---|
dumps | 将对象序列化为字节数据 .dat |
loads | 将数据反序列化为对象 |
dump | 将对象序列化为字节数据 ,并且保存到file |
load | 将数据反序列化为对象 |
json模块
(python2只能操作字典对象)
方法名 | 用法 |
---|
dumps | 将对象序列化为字节数据 .dat |
loads | 将数据反序列化为对象 |
dump | 将对象序列化为字节数据 ,并且保存到file |
load | 将数据反序列化为对象 |