python 基础(十一) pickle 序列化
一、pickle序列化的操作
使用说明:可以将数据 转换成2进制 写入到文件中 或者之间返回 做到将数据原样写入 原样取出
import pickle
(1) dump 写入文件中
pickle.dump(数据,文件的IO)
(2) dumps 直接返回
pickle.dumps(数据)
(3) load 从文件中加载出来
pickle.load(文件的IO)
(4) loads 获取序列化后的进制 进行反序列化
pickle.loads(bytes)
print(pickle.loads(pickle.dumps(myList)))
二、偏函数
概念:当函数中 参数过多 需要简化的时候 可以使用偏函数创建一个新的函数 使用新函数 将原函数中的部分参数固定住 使用起来更简单
实例
#base 都是用的是 2进制转换成10进制
# int('0001',base=2)
#自定义的转换
"""
def myInt(x,base=2):
return int(x,base=base)
myInt('0001')
使用functools
import functools
myInt = functools.partial(int,base=2)
print(myInt('10',base=10))
print(myInt('01'))
三、数据在内存中读写
数据读写不是只能存在文件中 也可以在内存中读写
from io import StringIo
f = StringIo()
f.write('abcdef')
f.getvalues()
from io import BytesIO
f = BytesIO()
f.write('abcdef')
f.getvalues()