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

使用fs::dir_ls时如何避免自动拼接当前工作目录路径

问题根因

你遇到的路径拼接异常由两个可修正的错误导致:

  • 波浪号~在R中默认解析为当前登录用户的主目录,你当前的运行用户是user1,因此~/会被解析为/home/R/user1/,而非你预期的/home/R/根路径,这是路径前缀错误的核心原因
  • 你代码中拼写了错误的参数globe,fs::dir_ls的通配符过滤参数正确名称为glob,拼写错误会导致csv过滤规则不生效
修复方案

方案1:直接写绝对路径(最稳妥,不会受运行用户、工作目录变化影响)

file_paths <- fs::dir_ls(
    path = "/home/R/user2/proj/dev/data",
    glob = "*.csv",
    type = "file"
)

方案2:使用对应用户的主目录占位符

如果user2是系统合法用户,你可以用~用户名的格式直接指向user2的主目录,配合fs::path_expand做路径解析:

file_paths <- fs::dir_ls(
    path = fs::path_expand("~user2/proj/dev/data"),
    glob = "*.csv",
    type = "file"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 18:54:01