Можно ли остановить `Rscript`, очищающий его` tempdir`? - PullRequest
0 голосов
/ 07 января 2019

Я использую R, через Rscript и H2O, но H2O падает. Я хочу просмотреть журналы, но R-tempdir, который их содержит, кажется, удаляется, когда заканчивается сеанс R (т.е. когда Rscript заканчивается).

Можно ли сказать R / Rscript не удалять используемую папку tmp?

1 Ответ

0 голосов
/ 08 января 2019

Обойти это можно было бы с помощью on.exit, чтобы получить временные файлы и сохранить их в другом каталоге. Пример функции будет выглядеть следующим образом:

    ranfunction <- function(){
#Get list of files in tempdir
on.exit(templist <- list.files(tempdir(), full.names = T,pattern = "^file") )
#create a new directory for files to go on exit
#use add = T to add to the on.exit call
on.exit(dir.create(dir1 <- file.path("G:","testdir")),add = T  )
#for each file in templist assign it to the new directory   
on.exit(
      lapply(templist,function(x){
      file.create(assign(x, tempfile(tmpdir = dir1) ))})
  ,add=T)

}

ranfunction()

Одна вещь, которую эта функция не учитывает, это то, что если вы перезапустите ее - она ​​выдаст ошибку, потому что новый каталог dir1 уже завершен. Вам придется удалить dir1 перед повторным запуском скрипта.

...