Python学习---重点模块之pickle

仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容

pickled的写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
import pickle
 
def fun():
    print('ok')
 
data = pickle.dumps(fun)
# print(type(data))          # <class 'bytes'>
# 注意这里是wb写入,b是二进制的意思,将里面的内容转换为bytes写入
# 否则写入的是str类型, write() argument must be str, not bytes
# 不要加入编码,否则会报错,binary mode doesn't take an encoding argument
 
with open('pickle.txt', 'wb')as file:
    file.write(data)

 

pickle的读取:

1
2
3
4
5
6
7
8
9
10
11
import pickle
def fun():
    print('ok')
# 注意这里是rb读取,b是二进制的意思,读取里面的内容转换为bytes写入
# 读取的时候,一定要添加原来的函数,否则找不到那段内存的指引,报错
# 不要加入编码,否则会报错,binary mode doesn't take an encoding argument
with open('pickle.txt', 'rb')as file:
    data = file.read()
pickle_data = pickle.loads(data)
print(type(pickle_data))
pickle_data()

 

注意:pickle也有load()和dump()方法,参考json

posted @   小a玖拾柒  阅读(352)  评论(0编辑  收藏  举报
编辑推荐:
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
阅读排行:
· C# 多项目打包时如何将项目引用转为包依赖
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
· 如果单表数据量大,只能考虑分库分表吗?
· 在Winform开发框架支持多种数据库基础上,增加对国产数据库人大金仓的支持
· 搭建Trae+Vue3的AI开发环境
点击右上角即可分享
微信分享提示