在python中访问netcdf文件的缓存numpy数组结果

在python中访问netcdf文件的缓存numpy数组结果,python,numpy,netcdf,Python,Numpy,Netcdf,我有一个函数,它从一个netcdf文件(维数为720x1440的数组)中获取一个切片。我多次从不同的函数调用这个函数。我希望缓存这个函数的输出,并在下次使用相同的参数调用它时使用它。我该怎么做 注意:functools lrucache不工作,因为它返回以下错误: import netCDF4 def get_nc_var3d(nc_hndl, var, year): """ Get value from netcdf for variable var for year

我有一个函数,它从一个netcdf文件(维数为720x1440的数组)中获取一个切片。我多次从不同的函数调用这个函数。我希望缓存这个函数的输出,并在下次使用相同的参数调用它时使用它。我该怎么做

注意:functools lrucache不工作,因为它返回以下错误:

import netCDF4

def get_nc_var3d(nc_hndl, var, year):
    """
    Get value from netcdf for variable var for year
    :param nc_hndl: handle to netcdf file
    :param var: which variable to extract
    :param year:
    :return:
    """
    val = nc_hndl.variables[var][int(year), :, :]

    return val

几乎任何缓存解决方案都会遇到相同的问题,因为缓存通常依赖哈希来查找表中的参数元组。请参见此处的相关查询:几乎任何缓存解决方案都会遇到相同的问题,由于缓存通常依赖哈希来查找表中的参数元组。请参见此处的相关查询:
TypeError: unhashable type: 'MaskedArray'