R语言 获取R中的目录列表
R编程语言中的一个目录或文件夹可能包含其他目录。可以使用R语言中的基础方法访问所有目录的列表,并以文件夹列表的形式返回。
R语言中的list.dirs()方法是用来检索指定路径中存在的目录列表的。返回的输出是一个字符向量的形式,包含指定目录路径中包含的文件名,如果没有返回任何目录,则返回null。如果指定的路径不存在,或者不是一个目录,或者无法读取,则跳过评估。
语法
list.dirs(path = ".", full.names = TRUE, recursive = TRUE)
参数
path – 主目录的路径
full.names(默认值:TRUE) – 如果设置为FALSE,只显示子目录的名称。否则,将显示整个路径。
返回: 按词法顺序排列的文件列表
使用中的目录
输入主目录
在R中获取目录的整个路径
当属性full.names = TRUE时返回的完整路径。如果我们设置,recursive = TRUE,目录将按层次顺序返回,从主目录路径开始,然后是子目录。然而,如果我们指定递归=FALSE,则只返回子目录。
例子
# specifying the path
main_dir <- "/Users/mallikagupta/Desktop/gfg"
print ("list of directories including the main directory")
dir_list <- list.dirs(main_dir,recursive = TRUE)
print (dir_list)
print ("list of directories excluding the main directory")
dir_list <- list.dirs(main_dir,recursive = FALSE)
print (dir_list)
输出
“list of directories including the main directory”
[1] “/Users/mallikagupta/Desktop/gfg” “/Users/mallikagupta/Desktop/gfg/Interviews”
[3] “/Users/mallikagupta/Desktop/gfg/Placements” “/Users/mallikagupta/Desktop/gfg/WFH”
“list of directories excluding the main directory”
[1] “/Users/mallikagupta/Desktop/gfg/Interviews” “/Users/mallikagupta/Desktop/gfg/Placements”
[3] “/Users/mallikagupta/Desktop/gfg/WFH”
另一种方法,排除主目录是指定[-1]索引附加到list.dirs()方法中,它只返回子目录。
例子
main_dir <- "/Users/mallikagupta/Desktop/gfg"
print ("list of directories")
dir_list <- list.dirs(main_dir)[- 1]
print (dir_list)
输出
“list of directories”
[1] “/Users/mallikagupta/Desktop/gfg/Interviews” “/Users/mallikagupta/Desktop/gfg/Placements”
[3] “/Users/mallikagupta/Desktop/gfg/WFH”
在R中获取文件夹名称
可以只检索主目录内的文件夹或目录名称。在这种情况下,我们在方法调用中设置参数 full.names = FALSE。这些名字是按字母顺序排列的。
例子
main_dir <- "/Users/mallikagupta/Desktop/gfg"
print ("list of directory names")
dir_list <- list.dirs(main_dir,full.names = FALSE,
recursive = FALSE)
print (dir_list)
输出
“list of directory names”
[1] “Interviews” “Placements” “WFH”
gsub()函数用于从一个字符串中替换所有匹配的模式。我们指定的模式相当于一个regex(“\\./”),它用于从完整的路径名中删除所有前面的片段,只返回路径的最后一部分,也就是文件夹名称。
语法
gsub(pattern, replacement, string)
参数
pattern – 要在字符串中找到的模式
replacement – 要替换的字符串。
例子
main_dir <- "/Users/mallikagupta/Desktop/gfg"
# set working director
setwd(main_dir)
print ("list of directories")
dir_list <- list.dirs()[- 1]
# getting folder names
folder_list <- gsub("\\./", "", dir_list)
print (folder_list)
输出
“list of directories”
[1] “Interviews” “Placements” “WFH”