为什么file.exists(tempfile())返回FALSE?

时间:2019-05-21 17:47:57

标签: r

今天有一个简单的问题,我找不到解决方案。为什么file.exists()返回FALSE? HD上有足够的空间,所以我不知道发生了什么。


file.exists(tempfile())
#> [1] FALSE

reprex package(v0.3.0)于2019-05-21创建

1 个答案:

答案 0 :(得分:4)

您正在获得该返回值,因为tempfile()本身并不创建文件。相反,如?tempfile中所述:

  

'tempfile'返回字符串的向量,可用作   临时文件的名称。

要亲自查看,请尝试以下操作

## `f` is just a character string
f <- tempfile()
f
## [1] "C:\\tmp\\RtmpUdx1MU\\file26fc52b52d77"
class(f)
## [1] "character"
file.exists(f)
## [1] FALSE

## Writing something to the path given by `f` is what creates the file
cat("Hello", file = f)
file.exists(f)
## [1] TRUE