如何在 python 中保存列表?
How to save a list in python?
我有一个由许多矩阵组成的列表。
我会保存此列表以便在另一个脚本中阅读它。
这是我的代码 t 保存我的列表 W:
with open("My_rotation_matrix.bin", "wb") as output:
pickle.dump(W, output)
然后用另一个脚本阅读我的列表:
with open("My_rotation_matrix.bin", "rb") as data:
W = pickle.load(data)
问题是保存的 My_rotation_matrix.bin 很大 (1.4 GB),当我阅读列表时,我不得不等待将近 5 分钟。
有没有更快的方法来 save/read python 中的列表?例如使用 JSON?
谢谢!
我的建议是你是否可以使用 numpy。由于您的数据已经在列表中,您可以这样做:
import numpy as np
data = np.array(mylist)
np.savez("Myfile", data)
现在保存此文件可能需要一两分钟(取决于您的计算机上有多少 RAM),但加载文件相当快(对于 700 MB 的文件只需几秒钟) .当你准备好加载它时,你可以说
a = np.load("Myfile.npz") #make sure you use the .npz!
b = a['arr_0']
我有一个由许多矩阵组成的列表。 我会保存此列表以便在另一个脚本中阅读它。 这是我的代码 t 保存我的列表 W:
with open("My_rotation_matrix.bin", "wb") as output:
pickle.dump(W, output)
然后用另一个脚本阅读我的列表:
with open("My_rotation_matrix.bin", "rb") as data:
W = pickle.load(data)
问题是保存的 My_rotation_matrix.bin 很大 (1.4 GB),当我阅读列表时,我不得不等待将近 5 分钟。 有没有更快的方法来 save/read python 中的列表?例如使用 JSON? 谢谢!
我的建议是你是否可以使用 numpy。由于您的数据已经在列表中,您可以这样做:
import numpy as np
data = np.array(mylist)
np.savez("Myfile", data)
现在保存此文件可能需要一两分钟(取决于您的计算机上有多少 RAM),但加载文件相当快(对于 700 MB 的文件只需几秒钟) .当你准备好加载它时,你可以说
a = np.load("Myfile.npz") #make sure you use the .npz!
b = a['arr_0']