列出R中的叶子目录

时间:2017-01-31 15:37:09

标签: r

我有一个像这样的目录树结构:

.
|-Root
|---Folder1
|---Folder2
|------SubFolder1
|------SubFolder2

文件夹可能包含文件,但我只对列出文件夹文件感兴趣。

在上面的示例中,我正在寻找的是:

Root/Folder1
Root/Folder2/SubFolder1
Root/Folder2/SubFolder2

我尝试了list.dirs("Root", recursive = TRUE),但它返回:

Root
Root/Folder1
Root/Folder2
Root/Folder2/SubFolder1
Root/Folder2/SubFolder2

在现实生活中,我的目录结构当然比这个例子更大。

2 个答案:

答案 0 :(得分:2)

根据其他答案和评论,我提出了这个问题:

{{1}}

答案 1 :(得分:1)

也许不是最有效的方式,但它应该有效:

getPathLeaves <- function(path){
  children <- list.dirs(path, recursive = FALSE)
  if(length(children) == 0)
    return(path)
  ret <- list()
  for(child in children){
    ret[[length(ret)+1]] <- getPathLeaves(child)
  }
  return(unlist(ret))
}

用法:

getPathLeaves("Root")