Python使用pickle模块实现磁盘内存数据转换

Python的pickle模块可以序列化任何对象,将其保存到磁盘中,并在需要的时候读取出来。这不就是可以用磁盘换内存的意思啦,虽然要牺牲一点时间!

pickle模块中最常用的函数为:

1. pickle.dump(obj, file, [,protocol])

  • 函数的功能:将obj对象序列化存入已经打开的file中。
  • 参数讲解:
    • obj:想要序列化的obj对象。
    • file: 文件名称。
    • protocol:序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。
  • 代码示例:把x_test写入临时文件并将回收其内存空间
import pickle
import gc

# use temporary file to reduce memory
with open('temporary.pickle', mode='wb') as f:
    pickle.dump(x_test, f) 

del x_test
gc.collect()

2. pickle.load(file)

  • 函数的功能:将file中的对象序列化读出。
  • 参数讲解:
    • file:文件名称。
  • 代码示例:从临时文件(x_test)中加载数据到内存中
with open('temporary.pickle', mode='rb') as f:
      x_test = pickle.load(f) 

参考文章:Python数据存储:pickle模块的使用讲解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容