gpt4 book ai didi

r - 如何获取目录中的目录列表,如list.files(),但改为 "list.dirs()"

转载 作者:行者123 更新时间:2023-12-03 05:33:26 24 4
gpt4 key购买 nike

我可以使用list.files()来获取给定目录中的文件列表,但是如果我想获取目录列表,我该怎么做?它是否在我面前作为 list.files() 中的一个选项?

此外,我使用的是 Windows,因此如果答案是使用某些 Linux/unix 命令,那对我来说不起作用。

例如,.NET 有一个 Directory.GetFiles() 方法和一个单独的 Directory.GetDirectories()方法,所以我认为 R 会有一个类似的对。

最佳答案

更新:修订版 54353 中的基础包中添加了 list.dirs 函数,该函数包含在 2011 年 4 月发布的 R-2.13.0 中。

list.dirs(path = ".", full.names = TRUE, recursive = TRUE)

所以我下面的函数只能用几个月。 :)

<小时/>

我找不到基本的 R 函数来执行此操作,但使用以下方法编写自己的函数将非常容易:

dir()[file.info(dir())$isdir]

更新:这是一个函数(现已针对 Timothy Jones 的评论进行更正):

list.dirs <- function(path=".", pattern=NULL, all.dirs=FALSE,
full.names=FALSE, ignore.case=FALSE) {
# use full.names=TRUE to pass to file.info
all <- list.files(path, pattern, all.dirs,
full.names=TRUE, recursive=FALSE, ignore.case)
dirs <- all[file.info(all)$isdir]
# determine whether to return full names or just dir names
if(isTRUE(full.names))
return(dirs)
else
return(basename(dirs))
}

关于r - 如何获取目录中的目录列表,如list.files(),但改为 "list.dirs()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com