Python学习---重点模块之pickle
仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容
pickled的写入:
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的读取:
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
作者:小a玖拾柒
-------------------------------------------
个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~
本文版权归作者【小a玖拾柒】和【博客园】共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!

浙公网安备 33010602011771号