小编cch*_*ala的帖子

有没有办法释放 xarray.Dataset 的文件锁?

我有一个进程fn每 5 分钟使用netcdf4.Dataset(fn, mode=a). 我还有一个使用 a xarray.Dataset(我想保留它,因为它非常方便)的NetCDF 文件的散景服务器可视化。

问题是 NetCDF-update-process 在尝试添加新数据时失败,fn如果它在我的散景服务器进程中通过

ds = xarray.open_dataset(fn)
Run Code Online (Sandbox Code Playgroud)

如果我使用该选项 autoclose

ds = xarray.open_dataset(fn, autoclose=True)
Run Code Online (Sandbox Code Playgroud)

更新fn与其他过程,同时ds在背景虚化服务器应用程序的作品“开放的”,但更新的背景虚化的人物,这拉从时间片fn,得到非常laggy。

我的问题是:有没有其他方法可以在使用时释放 NetCDF 文件的锁定xarray.Dataset

我不在乎 xarray.Dataset 的形状是否只在重新加载整个散景服务器应用程序后才一致更新。

谢谢!

这是一个最小的工作示例:

把它放到一个文件中并让它运行:

import time
from datetime import datetime

import numpy as np
import netCDF4

fn = 'my_growing_file.nc'

with netCDF4.Dataset(fn, 'w') as nc_fh:
    # create dimensions
    nc_fh.createDimension('x', 90)
    nc_fh.createDimension('y', 90)
    nc_fh.createDimension('time', None)

    # create variables
    nc_fh.createVariable('x', …
Run Code Online (Sandbox Code Playgroud)

python concurrency netcdf python-xarray

5
推荐指数
1
解决办法
895
查看次数

标签 统计

concurrency ×1

netcdf ×1

python ×1

python-xarray ×1