如果object是目录,则进行逻辑测试

时间:2013-05-24 16:58:25

标签: r

假设我刚刚创建了这个目录和文件:

dir.create("foo")
cat("bar", file="bar")

#both files exist:

file.exists("foo")
file.exists("bar")

我想测试foo和bar以便逻辑测试它们是否是目录。如果某个目录是我希望能够将其他文件放入其中的目录。如果该项目不是我想要使用的目录stop,但不知道如何测试。

捅了一下让我:

file.info("foo", "bar")
.Internal(file.info(fn <- c("foo", "bar")))

这两个都给了我我正在使用的信息,但.Internal使用似乎是使用对目录的排序的逻辑测试(意味着更有效),但我无法弄清楚如何。什么是file.info用于测试对象是否是目录?

2 个答案:

答案 0 :(得分:6)

也许你想要file_test

file_test("-d", c("foo", "bar"))
# [1]  TRUE FALSE

答案 1 :(得分:3)

file.info显然取决于平台,在Windows上使用_wstati64,在Linux上使用stat。见https://svn.r-project.org/R/trunk/src/main/platform.c