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玖拾柒】和【博客园】共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!