上节课回顾
os模块
与操作系统交互
sys模块
与python解释器交互
json模块
跨平台数据交互,json串
pickle模块
存储python所有类型的数据,为了python文件和python文件的交互
logging模块
日志记录
今日所学
包
- 包 == 模块,包也是拿来导入用的
- 包是含有
__init__.py
的文件夹;导包就是导入__init__
- 包一定是被当做模块文件导入,模块文件m1.py/m2.py的搜索路径以执行文件的路径为准
time模块
提供了三种不同类型的时间(最主要为时间戳),三种不同类型的时间可以互相转换
# 时间戳形式
print(time.time())
# 格式化时间
print(time.strftime('%Y-%m-%d %X'))
# 结构化时间
print(time.localtime())
time.sleep() 让程序睡觉几秒
datetime模块
时间的加减
import datetime
now = datetime.datetime.now()
print(now)
# 默认3天
print(now + datetime.timedelta(3))
# 加3周
print(now + datetime.timedelta(weeks=3))
# 加3小时
print(now + datetime.timedelta(hours=3))
# 减3小时
print(now - datetime.timedelta(hours=3))
random模块
随机数
random.random()
0-1的数
random.randint(1,3)
1-3的整数
lt=[1,2,3]
random.shuffle(lt)# 打乱列表
random.choice(lt)# 随机选择一个
random.seed()
只随机一次
hashlib模块和hmac模块
hashlib模块
加密
m = hashlib.md5()
m.update(b'hello')
m.update(b'hello')
print(m.hexdigest())
m = hashlib.md5()
m.update(b'hellohello')
print(m.hexdigest())
- 结果永远都是相同长度的字符串
- 叠加性
hmac模块
加密, 加盐处理
m = hmac.new(b'123')
m.update(b'hellow')
print(m.hexdigest())
typing模块
与函数联用,控制函数参数的数据类型,提供了基础数据类型之外的数据类型
requests模块
一般用于爬虫,用来爬取数据,模拟浏览器对url发送请求拿到数据
#用法
import requests
res=requests.get(url)
data=res.text
print(data)
re模块
去字符串找符合某种特点的字符串
#查找所有
findall
# ^:以...开头
res = re.findall('^ab', s)
print(res)
res = re.findall('^bc', s)
print(res)
# $: 以..结尾
s = 'abcdabc'
res = re.findall('bc$', s)
print(res)
# .: 任意字符
s = 'abc红abc'
res = re.findall('abc.', s)
print(res)
# d: 数字
s = 'skld2342ljk'
res = re.findall('d', s)
print(res)
# w: 非空,数字字母下划线
s = 'skld_23 42ljk'
res = re.findall('w', s)
print(res)
# s:空,空格/ /
s = 'skld_23 42ljk'
res = re.findall('s', s)
print(res)
# D: 非数字
s = 'skld2342ljk'
res = re.findall('D', s)
print(res)
# W: 空
s = 'skld_23 42ljk'
res = re.findall('W', s)
print(res)
# S:非空
s = '