You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下用R读取HDF5文件时如何保留原始时间戳?

解决HDF5文件读取时修改时间戳的问题

问题出在rhdf5::H5Fopen()的默认打开模式——它默认使用**读写模式(H5F_ACC_RDWR)**打开文件,哪怕你只是读取数据,这种模式下文件系统或HDF5库也会更新文件的最后修改时间戳。

要保留原始时间戳,只需要显式指定只读模式打开文件:

修改你的函数,在H5Fopen()中添加flags = rhdf5::H5F_ACC_RDONLY参数:

function(path_to_file){
  data <- rhdf5::H5Fopen(path_to_file,
    native = TRUE,
    flags = rhdf5::H5F_ACC_RDONLY  # 显式指定只读模式
  )

  data <- as.data.frame(data[["slot1"]])
  
  # 显式关闭HDF5文件句柄,避免资源泄漏
  rhdf5::H5Fclose(data@ID)
  
  return(data)
}

补充说明:

  • 只读模式下,HDF5库不会对文件做任何写入操作,自然不会修改时间戳,完美契合流水线可复现性的要求。
  • 额外建议:读取完成后调用H5Fclose()关闭文件句柄,防止长时间占用系统资源,尤其是批量处理文件时更重要。

内容的提问来源于stack exchange,提问作者Giulio Centorame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:50:00