在循环的每一步中,我都有一些要最终保存到硬盘中的数据。
一种方法:
list = [] for i in range(1e10): list.append(numpy_array_i) pickle.dump(list, open(self.save_path, "wb"), protocol=4)
但是我担心:1_我因为列表而耗尽了内存2_如果发生崩溃,所有数据都将丢失。因此,我还想到了一种实时保存数据的方法,例如:
file = make_new_csv_or_xlsx_file() for i in range(1e10): file.write_in_a_new_line(numpy_array_i)
为此,我也担心它可能不会那么快,并且不确定最好的工具是什么。但是可能openpyxl是一个不错的选择。
在循环的每一步中,我都有一些数据要最终保存到硬盘中。一种方法:list = [] for range(1e10)中的i:list.append(numpy_array_i)pickle.dump(list,open(self ....
写入redis
非常快。并且您可以在第二个过程中从redis
中读取并写入磁盘
我会尝试使用SQLite,因为它提供了磁盘上的永久存储(->没有数据丢失),但是它比您的问题中所示的写入文件要快,并且在数据不完整的情况下可以更轻松地查找数据来自上次运行。