os模块:
os模块主要是对系统的文件系统进行操作,以下介绍一些常用方法:
- curdir --属性 # os属性,获取当前目录,注意是返回的相对路径
- getcwd() # 获取当前目录,注意是返回的绝对路径
或者通过os.path获得绝对路径: os.path.abspath(os.curdir)
- chdir(path) # 修改当前工作目录
- chmod() # 修改权限,Linux
- cpu_count() # 返回cpu的核对应的线程数
- getpid() # 获取当前进程的进程编号
- getppid() # 获取当前进程的父进程的编程
- kill() # 通过进程编号杀死进程
- listdir() # 返回对应目录下的文件及文件夹
- mkdir() # 创建目录,只支持一层创建
- makedirs() # 创建目录,支持多层创建
- open() # 创建文件,等价于全局open
- pathsep # 获取环境变量的分隔符 window ; linux :
- os.linesep # 对应系统的换行符
- sep # 路径的分隔符 window \ linux /
- remove(path) # 删除文件
- removedirs() # 删除目录,支持多层删除,递归删除
- system # 执行终端命令
os.path模块
os.path为os的一个子模块
-
abspath(相对路径) # 返回路径对应的绝对路径 dirname + basename = abspath
-
realpath # 返回真实路径
-
split # 分割路径 abspath = dirname + basename
-
altsep # 查看python中的各种符号
-
basename # 文件名称
-
dirname # 文件所在的目录
-
curdir # 当前目录
-
exists # 判断文件或者目录是否存在
-
getctime # 返回创建时间
-
getmtime # 返回修改时间
-
getsize # 获取文件的大小,单位是字节
-
isdir # 判断path是不是目录
-
isfile # 判断path是不是文件
-
isabs # 判断是不是绝对路径
-
islink # 判断是不是链接
-
ismount # 判断是不是挂载文件
-
join(p1, p2) # 拼接路径
-
sep # 路径分割符
hashlib模块:
hash是一种不可逆的加密算法
特点:不可逆
唯一的
hashlib所有hash操作起来一样,因此以下演示MD5以及sha256:
使用步骤:
- 创建算法对象(md5 sha256),返回一个算法对象
# 注意:参数值为字节数据
md5 = hashlib.md5(“123456”.encode(“utf-8”))
密码 参数值
- 如果不做盐值混淆,直接调用hexdigest()方法返回摘要,作为十六进制数据字符串值
md5.hexdigest()
- 盐值混淆
hash容易碰撞破解,一般建议使用盐值混淆
md5.update("!@#$%^&*()[]-=;,.'uhnwiih".encode(“utf-8”))
盐值
sha256方法----加密后返回的值比hash长很多
hmac模块:
hmac也是一个哈希加密库,而且使用对称加密—必须加盐值
首先会使用对称加密(秘钥就是盐值),之后将加密后的数据再做一次hash加密,盐值混淆所以整个结果十分安全
> mac = hmac.new("123456".encode("utf-8"),"8u94j3ri/';./,lo".encode("utf-8"),"md5")
密码 必须加盐值 加密方法
> mac
<hmac.HMAC object at 0x000000F575F7F5F8>
> mac.hexdigest()
'2e86299decf978795123b47a725a1b75' #加密后
time模块
python提供操作时间和日期的模块
-
asctime() # 获取当前时间
-
ctime() # 获取当前时间
-
localtime() # 本地时间,返回的是一个时间对象,方便于自己完成格式化-
-
sleep(1) # 设置休眠时间,单位是秒
-
time() # 获取当前时间戳
- strftime # 将一个时间对象格式化为特定的字符串
-
strptime # 将一个特定格式的时间字符串转换为时间对象