re
正则表达式模块
主要处理字符串
匹配 查找 搜索
给你一个字符串 要从中找到你需要的东西 爬虫大量使用
logging
功能完善的日志模块
hashlib
hash算法相关的库
算法怎么算不需要关系
我们的重点是 算出来的结果有什么用
subprocess
子进程模块
一个正运行的程序称之为进程
一个进程 开启了另一个进程 这个被开启的进程叫做子进程
pickle 是一个用来序列化的模块
序列化是什么?
指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上
反序列化?
将硬盘上存储的中间格式化数据在还原为内存中的数据结构
为什么要序列化?
就是为了将数据持久存储
之前学过的文件也能完成持久存储 但是操作起来非常麻烦
pickle 模块主要功能
dump
load
dumps
loads
dump是序列化
不带s的是帮你封装write read 更方便
load函数可以多次执行 每次load都是往后在读一个对象 如果没有了就抛出异常Ran
out of input
" " "
import pickle
# 用户注册后得到的数据
name="高跟"
passsword = "123"
heidht = 1.5
hobby = ["吃","喝","嫖","赌",{1,2,3}]
# with open("userdb,txt","wt",encoding="utf-8) as f:
# text = "|",join([na,e.password,str(height)])
# f.write(text)
# pickle支持python中所有的数据类型
user =
{"name":name,"passworrd,"height,"hobby,"test":3}
# 序列化的过程
# with open("userdb.pkl","ab") as f:
# userbytes = pickle.dumps(user)
# f.write(userbytes)
# f反序列化过程
# with open("userdb,pkl:rb")as f:
# print(user)
# print(type(user))
#dump openj直接序列化到文件
with open("userdb.pkl",'ab) as f:
# pickle.dump(user,f)
# load 从文件反序列化
# with open("userdb.pkl","rb")as f:
user = pickle.load(f)
print(user)
print(pickle.load(f))
print(pickli.ioad(f))
# def myload(filename):
# with open (filename,"rb") as f:
# return pickle.load(f)
# 内存 —> 内置 —> sys.path
"""
shelye模块 也用于序列化
它于pi