首页 > 解决方案 > 是否有 Python 模拟 matlab 的“save()”函数?

问题描述

假设我运行了一些生成多个数组作为其输出的代码。如何像在 matlab 中那样一次性保存整个输出?

在matlab中我会简单地说save(data)-> load('data')

抱歉,如果这是一个基本问题。

标签: pythonnumpy

解决方案


如何保存python对象:

要将对象保存到 Python 中的文件,您可以使用pickle

  • 导入pickle模块。
  • 在写入模式下获取指向文件路径的文件句柄。
  • 用于pickle.dump通过该文件句柄将我们要保存的对象写入文件。

如何使用它:

   import pickle 
   object = Object() 
   filehandler = open(filename, 'w') 
   pickle.dump(object, filehandler)

如何加载python对象:

  • 导入pickle模块。
  • 在读取模式下获取一个文件句柄,该句柄指向一个文件路径,该文件路径包含一个包含 Python 对象序列化形式的文件。
  • 用于pickle.load通过文件句柄从包含 Python 对象的序列化形式的文件中读取对象。

如何使用它:

   import pickle 
   filehandler = open(filename, 'r') 
   object = pickle.load(filehandler)

附加功能:一次保存多个对象

显然,使用列表还可以一次存储多个对象:

object_a = "foo"
object_b = "bar"
object_c = "baz"

objects_list = [object_a , object_b , object_c ]
file_name = "my_objects.pkl"
open_file = open(file_name, "wb")
pickle.dump(objects_list, open_file)
open_file.close()

推荐阅读