Как удалить временные файлы удаленных объектов в растре пакета R - PullRequest
0 голосов
/ 27 апреля 2020

Поскольку я работаю с большими объектами RasterBrick, объекты не могут быть сохранены в памяти, но хранятся как временные файлы в текущем каталоге временных файлов tempdir () или, если быть точным, в подпапке "растровые". Из-за больших размеров файлов было бы очень хорошо удалить временные файлы неиспользуемых объектов.

Если я удаляю объекты, мне больше не нужно

rm (list = ls (pattern =) "xxx")

временные файлы все еще существуют. Сборка мусора g c () не повлияет на это, насколько я понимаю, поскольку это не влияет на жесткий диск. Автоматически присваиваемые имена временных файлы не имеют никакого отношения к именам объектов, поэтому невозможно удалить их с помощью кода, подобного

raster_temp_dir <- paste (tempdir (), "/ raster", sep = "") files_to_be_removed <- list.files (rastertemp, pattern = "xxx", full.names = T) </p>

К сожалению, файлы объектов, которые все еще используются, не доступны только для чтения. Поэтому я также удалил бы объекты, которые мне все еще нужны запустив:

files_to_be_removed <- list.files (rastertemp, full.names = T) </p>

Кто-нибудь уже решил эту проблему или есть идеи, как ее решить? Было бы идеально, если бы как-то там код может различать guish между неиспользованными и использованными объектами. Поскольку это маловероятно, чтобы реализовать обходной путь, возможно, было бы присвоение имен временным файлам объектов Raster вручную, но я не нашел ни одной опции для этого, поскольку аргумент имени файла можно использовать только при записи файлов на жесткий диск, но не при временной файлы созданы (насколько мне известно).

Спасибо!

...