小编use*_*145的帖子

netcdf4-python:内存越来越多,调用来自netcdf对象的切片数据

我正在尝试使用netcdf4-python从netcdf4文件中读取数据切片.这是第一次使用python,我遇到了内存问题.下面是代码的简化版本.在循环的每次迭代中,内存跳过相当于我读取的数据切片.当我遍历每个变量时,如何清理内存?

#!/usr/bin/env python
from netCDF4 import Dataset
import os
import sys
import psutil

process = psutil.Process(os.getpid())


def print_memory_usage():
    nr_mbytes = process.get_memory_info()[0] / 1048576.0
    sys.stdout.write("{}\n".format(nr_mbytes))
    sys.stdout.flush()

# open input file and gather variable info

rootgrp_i = Dataset('data.nc','r')
vargrp_i = rootgrp_i.variables
# lets create a dictionary to store the metadata in
subdomain = {}
for suff in range(1000):

    for var in vargrp_i:
        v_i = vargrp_i[var]
        if v_i.ndim == 1:
           a=v_i[:]
        elif v_i.ndim == 2:
           a=v_i[0:20, 0:20]
        elif v_i.ndim == 3:
           a=v_i[0, 0:20, …
Run Code Online (Sandbox Code Playgroud)

python memory-management netcdf

9
推荐指数
1
解决办法
566
查看次数

标签 统计

memory-management ×1

netcdf ×1

python ×1