这里有一个不太需要内存的方法来做同样的事情。可能也快一点。(但这对我来说很难确认)
我的计算机没有足够的内存来运行第一个包含这些大文件的程序。这个是这样,但是我仍然需要先创建一个ony tmax的列表(文件的前1/4),然后打印它,然后删除这个列表,以便有足够的内存来存储nmax、tmin和nmin
但这篇文章也说,2018年文件中的nmin都是-999.0。如果这不合理,你能检查一下R代码是怎么解释的吗?我怀疑这只是档案里的东西。另一种可能性当然是,我完全搞错了(我对此表示怀疑)。不过,我也尝试了2017年的文件,但这个文件没有这样的问题:所有tmax、nmax、tmin、nmin都有大约37%-999.0的值
不管怎样,下面是第二个代码:import os
import struct
# load_data()
# data_store : object to append() data items (floats) to
# num : number of floats to read and store
# datafile : opened binary file object to read float data from
#
def load_data(data_store, num, datafile):
for i in range(num):
data = datafile.read(4) # process one float (=4 bytes) at a time
item = struct.unpack("
data_store.append(item)
# save_list() saves