python - 是否有 Python 模拟 matlab 的“save()”函数?
问题描述
假设我运行了一些生成多个数组作为其输出的代码。如何像在 matlab 中那样一次性保存整个输出?
在matlab中我会简单地说save(data)
-> load('data')
。
抱歉,如果这是一个基本问题。
解决方案
如何保存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()