# pickle
"""
1、pickle是一个模块
2、pickle是一个序列化工具
3、pickle支持函数类型
pickle导出的函数只是变量名(函数名并非整个函数),如果导入后使用需要在该项目下有这个函数
4、pickle导出导入时是bytes类型
"""
# 引入模块
import pickle
# pickle的dumps和dump,loads和load用法和json一样
# 将字典转换成pickle格式保存到文件
# 创建一个字典
dic = {1: 'a', 2: 'b', 3: 'c'}
# 创建文件对象
# pickle导出时是bytes类型,使用wb
f = open('pickle', 'wb')
# 将字典转换成pickle格式保存到文件
data = pickle.dumps(dic)
f.write(data)
# 关闭文件
f.close()
# 通过pickle文件读取数据,并打印
# 创建文件对象,pickle导入时是bytes类型,使用rb
f = open('pickle', 'rb')
# 通过pickle文件读取数据,并打印
data = f.read()
print(pickle.loads(data))
# 关闭文件
f.close()
# 将函数转换成pickle格式保存到文件
# 创建一个函数
def foo():
print('abc')
# 创建文件对象
# pickle导出时是bytes类型,使用wb
f = open('pickle_fun', 'wb')
# 将字典转换成pickle格式保存到文件
data = pickle.dumps(foo)
f.write(data)
# 关闭文件
f.close()
# 通过pickle文件读取数据,并打印
# 创建文件对象,pickle导入时是bytes类型,使用rb
f = open('pickle_fun', 'rb')
# 通过pickle文件读取函数,并执行
data = f.read()
foo1 = pickle.loads(data)
foo1()
# 关闭文件
f.close()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。