模块
模块的分类:
- 系统模块 - 系统已经定义好的模块,程序员可以直接导入使用
- 第三方库模块(其他程序员或者机构定义的模块) - 需要先下载放到工程中以后再导入使用
- 自定义模块(在工程中创建的模块) - 程序员直接导入使用
导入方式
- import 模块名 - 导入指定模块,导入后可以使用模块中的全局变量,使用方式:模块名.变量
- from 模块名 import 变量1,变量2,变量3… - 导入指定模块,导入后可以使用这个模块中指定的变量,使用方式:直接用
- from 模块名 import * - 导入模块,导入后可以使用模块中所有变量
重命名
import 模块名 as 新模块名 - 导入模块的时候对模块进行重命名,重命名后通过新模块名来使用模块
from 模块 import 变量1 as 新变量1,… - 导入模块的时候对指定的变量进行重命名
包
定义:包就是包含__int__.py文件的文件夹
导入方式
- import 包.模块
- from 包 import 模块
- from 包.模块 import 变量1,变量2,…
注意:
- 导入包的时候,会自动执行包中__init__.py文件中所有代码
- import在导入模块或者包的时候会自动检查对应模块或者包之前是否已经导入过了,如果已经导入不会再重复导入
常用的标准库
- os模块 - 提供文件夹或者文件夹操作的相关功能(例如:创建文件夹/文件、删除文件夹/文件)
- sys模块 - 提供系统相关的操作
- time模块 - 时间相关操作
- datetime - 时间相关操作
- json模块 - json操作
- re模块 - 正则表达式相关操作
- hashlib - 加密模块
time模块常用方法
- time() - 获取当前时间
- sleep(时间) - 让程序睡眠指定时间
- localtime() - 获取当前本地时间
- localtime(时间戳) - 将时间戳对应的时间转换为struct_time(转换我们认识的时间戳)
- time.localtime() - 将时间转换为具体时间
备注:时间戳就是当前时间到格林威治时间的1970年1月1日0时0分0秒的时间差,单位为秒 好处:节约内存;方便加密
hashlib模块的使用
hashlib是python3.x提供的一个标准库,专门用来对数据进行hash加密的,
常用的加密算法是:md5,shaxxx
hash加密的特点:
a.同样的内容使用相同的算法加密后的结果是一样的
b.加密之后的结果不可逆
c.不管原数据的大小或者长度是多少,使用同一种加密算法得到的密文(摘要)的长度是一样的
生成摘要(对数据加密)步骤:
1)根据算法创建hash对象 - hashlib.算法名()
2)使用hash对象对指定的数据加密 - hash对象.update(数据)
注意:这儿的数据必须是二进制数据,类型是bytes
3)获取摘要(获取摘要后的密文) -hash对象 .hexdigest()
例:
import hashlib
hash=hashlib.md5()
pw='123456'
hash.update(pw.encode())
di=hash.hexdigest()
二进制和字符串之间的相互转换
1)字符串 -> 二进制
byte(字符串,encoding=‘utf-8’)
字符串.encode()
2)二进制 -> 字符串
str(二进制,encoding=‘utf-8’)
二进制.decode(encode=‘utf-8’)