📜  获取 R 中的目录列表(1)

📅  最后修改于: 2023-12-03 15:27:47.929000             🧑  作者: Mango

R获取目录列表

在R中,可以使用list.files()函数来获取目录中的文件列表和子文件夹。

语法

list.files(path, pattern = NULL, all.files = FALSE, full.names = FALSE, recursive = FALSE, ignore.case = FALSE)

参数解释如下:

  • path - 要检查的目录路径。
  • pattern - 文件名的搜索模式(字符向量)。
  • all.files - 逻辑标识,若为TRUE,则包括以点开头的隐藏文件。
  • full.names - 逻辑标识,若为TRUE,则返回完整路径列表。
  • recursive - 逻辑标识,若为TRUE,则递归地列出子目录中的文件。
  • ignore.case - 逻辑标识,若为TRUE,则搜索时忽略大小写。
示例

例如,以下是获取“/data”目录下的所有文件和目录的代码:

myfiles <- list.files("/data")
print(myfiles)

输出结果为:

[1] "file1.csv"  "file2.xlsx" "folder1"    "folder2"

要获取子目录中的所有文件,可以将recursive参数设置为TRUE:

myfiles <- list.files("/data", recursive = TRUE)
print(myfiles)

输出结果为:

[1] "file1.csv"              "file2.xlsx"             "folder1/file3.rds"       "folder1/subfolder1"     
[5] "folder1/subfolder2"     "folder2/file4.csv"      "folder2/subfolder3"     "folder2/subfolder3/file5.rds"

此外,参数pattern可以用于限制所列出的文件名。例如,以下代码将只会列出名字中含有“csv”的文件:

myfiles <- list.files("/data", pattern = "*.csv")
print(myfiles)

输出结果为:

[1] "file1.csv"  "folder2/file4.csv"

如果需要返回完整路径名列表,可以将full.names参数设置为TRUE:

myfiles <- list.files("/data", full.names = TRUE)
print(myfiles)

输出结果为:

[1] "/data/file1.csv"              "/data/file2.xlsx"            
[3] "/data/folder1/file3.rds"      "/data/folder1/subfolder1"    
[5] "/data/folder1/subfolder2"     "/data/folder2/file4.csv"     
[7] "/data/folder2/subfolder3"     "/data/folder2/subfolder3/file5.rds"

以上就是获取R中目录列表的方法,您可以根据自己的需求进行参数的选择和调整,获得想要的结果。