我有一个列表包含python中的4000个元素,其中每个元素都是具有多个值的后续类的对象。
class Point:
def __init__(self):
self.coords = []
self.IP=[]
self.BW=20
self.status='M'
def __repr__(self):
return str(self.coords)
我不知道如何保存此列表以供将来使用。 我试图通过打开文件和write()函数来保存它,但这不是我想要的。 我想保存它并将其导入下一个程序,就像我们在MATLAB中做的那样,我们可以保存变量并在将来导入它
答案 0 :(得分:1)
pickle
是个不错的选择:
import pickle
with open("output.bin", "wb") as output:
pickle.dump(yourList, output)
和对称:
import pickle
with open("output.bin", "rb") as data:
yourList = pickle.load(data)
这是一个很好的选择,因为它包含在标准库中,它可以毫不费力地序列化几乎任何Python对象,并且具有良好的实现,尽管输出不是人类可读的。请注意,您应该仅为您的个人脚本使用pickle,因为它会很乐意加载它收到的任何内容,包括恶意代码:我不建议将它用于生产或发布的项目。
答案 1 :(得分:0)
既然你说Matlab,numpy应该是一个选择。
f = open('foo', 'w')
np.save(f, my_list)
# later
data = np.load(open('foo'))
当然,它会返回一个数组,而不是一个列表,但如果你真的想要一个数组,你可以强制它...