r - 如何删除R包栅格中已删除对象的临时文件
问题描述
由于我使用大型 RasterBrick 对象,因此这些对象不能存储在内存中,而是作为临时文件存储在当前临时文件目录 tempdir() 中,或者确切地说是存储在子文件夹“raster”中。由于文件很大,删除未使用对象的临时文件会非常好。
如果我删除我不再需要的对象
rm(列表=ls(模式=“xxx”)
临时文件仍然存在。据我了解,垃圾收集 gc() 对此没有影响,因为它对硬盘驱动器没有影响。临时文件的自动给定名称与对象名称没有任何关系。因此,不可能通过类似的代码删除它们
raster_temp_dir <- paste(tempdir(), "/raster", sep="") files_to_be_removed <- list.files(rastertemp, pattern="xxx", full.names=T)
不幸的是,仍在使用的对象文件不是只读的。因此,我还将通过运行删除我仍然需要的对象:
files_to_be_removed <- list.files(rastertemp, full.names=T)
是否有人已经解决了这个问题或有任何解决方法的想法?如果能以某种方式区分未使用和已使用的对象,那将是完美的。由于这不太可能实现绕道,因此可以手动命名 Raster 对象的临时文件,但我也没有遇到过此选项,因为文件名参数只能在将文件写入硬盘时使用,而不能在临时文件时使用创建文件(据我所知)。
谢谢!
解决方案
我认为您正在寻找的功能是file.remove()
. 只需将带有要删除的文件名的向量传递给它。
推荐阅读
- .net - 如何在 Windows 中安全地存储用户凭据
- python - 如何使用产量和生成器函数将递归函数的输出保存到项目列表中
- sql - distict 不能用在这个
- javascript - 元素聚焦时如何更改物化CSS文本输入边框颜色
- flutter - Dart-PDF - Flutter - 超过 100 页的慢速 PDF 渲染
- websocket - 我如何在 Apache Flink Serverless Java 中运行 Web 套接字
- go - 如何将自动增量添加到表中
- javascript - 条件样式未应用于 div
- continuous-integration - 如何在竹子中获取jira票状态?
- kotlin - 是否可以强制执行模板的可空性?