本文介绍如何使用 zarr 库内置的 `zarr.getsize()` 函数快速、准确地获取 zarr group(包括其所有子组和数组)在磁盘上占用的总字节数。
Zarr 是一种用于存储 N 维数组的高效、分块、压缩格式,常用于大规模科学计算和遥感、生物信息等场景。与单个数组不同,Zarr Group 是一个容器结构,可包含多个子组、数据集(数组)及元数据(如 .zgroup 和 .zattrs 文件)。因此,获取其真实磁盘占用大小不能仅靠统计某个文件,而需递归遍历所有关联文件。
幸运的是,zarr 提供了开箱即用的工具函数 zarr.getsize(),它会自动解析 Group 的层级结构,并汇总所有底层存储对象(如 .zarray、分块数据文件、元数据文件等)的实际字节大小。
以下是最简实用示例:
import zarr
# 以只读模式打开 Zarr Group(推荐,避免意外写入)
group = zarr.open_group('path/to/your/zarr_group', mode='r')
# 获取整个 Group(含所有子组、数组及其分块)的总字节数
size_in_bytes = zarr.getsize(group)
print(f"Size of Zarr group: {size_in_bytes:,} bytes") # 使用千位分隔符提升可读性
✅ 注意事项: