You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中如何高效获取文件夹路径,避免遍历大量文件?

解决方案:快速提取目标文件夹路径

方法1:优化base R的list.dirs()参数

默认list.dirs()会递归遍历所有层级的子目录,导致在包含大量文件的场景下速度极慢。如果只需要当前根目录下的直接子文件夹,可通过参数限制遍历范围:

# 定义目标根路径
root_path <- "/Users/name/Documents/project/"

# 仅提取根目录下的直接子文件夹路径
sub_folders <- list.dirs(path = root_path, recursive = FALSE, full.names = TRUE)

该设置会跳过子文件夹内的所有文件,仅扫描根目录下的一级文件夹,大幅提升执行速度。

方法2:使用fs包的高效文件系统函数

fs包是专门针对文件系统操作优化的工具,性能远优于base R原生函数,尤其适合大目录场景:

# 安装并加载fs包(首次使用需安装)
install.packages("fs")
library(fs)

# 直接提取目标路径下的所有文件夹
sub_folders <- dir_ls(path = "/Users/name/Documents/project/", type = "directory")

dir_ls()的type = "directory"参数会直接过滤出文件夹,完全不会遍历子文件夹内的文件,执行效率最高。

结果验证

运行上述任意代码后,sub_folders会返回你需要的纯文件夹路径列表:

'/Users/name/Documents/project/folder1/'
'/Users/name/Documents/project/folder2/'

内容的提问来源于stack exchange,提问作者Shaggy Glitch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:04:51