我需要在单个R会话期间创建多个临时目录,但每次调用tempdir()函数时都得到相同的目录。
有没有简单的方法来确保每次调用都会给我一个新的临时目录?
dir.create(tempfile())
来创建一个独特命名的目录,位于 R 临时目录中。如有需要,请重复操作。你只能拥有一个临时目录。但是你可以在其中创建子目录,然后使用这些子目录。
如果你想自动创建这些子目录(而不是手动命名它们),你可以使用:
if(dir.exists(paste0(tempdir(), "/1"))) {
dir.create(paste0(
tempdir(), paste0(
"/", as.character(as.numeric(sub(paste0(
tempdir(), "/"
),
"", tail(list.dirs(tempdir()), 1))) + 1))))
} else {
dir.create(paste0(tempdir(), "/1"))
}
这个表达式将把第一个子目录命名为1
,并以每次+1的方式对后续子目录进行命名(因此是2
、3
等等)。
这样就不需要跟踪您已经创建了多少个子目录,您可以在函数等中使用此表达式。
dir.create(paste0(tempdir(), "/1"))
,dir.create(paste0(tempdir(), "/2"))
等操作。 - prosoitostempdir
返回预会话临时目录 - 我认为只能有一个。也许在tempdir()
中创建临时子目录,然后使用tempfile
访问它们? - kangaroo_cliff