如何在 R 中创建兼容的目录路径

How to make compatible directory paths in R

提问人:Luisa 提问时间:10/9/2023 最后编辑:Luisa 更新时间:10/9/2023 访问量:48

问:

在 R 中,该函数允许我定义目录的名称和文件名,使创建的路径在基于 Unix 的操作系统和 Windows 操作系统之间兼容。但是,我不能将它用于目录,因为它们需要尾部斜杠,而这个目录取决于操作系统。file.path()

例: 对于位于 /home/dir1/dir2/file.txt(基于 Unix 的系统)中的文件,将在使用 时在窗口中转换为 \home\dir1\dir2\file.txt(我认为,我没有要比较的窗口)。file.path()file.path("home", "dir1", "dir2", "file.txt")

R 中是否有允许我为与所有操作系统兼容的目录创建路径的函数? 我希望当有人使用我的代码时,能够在每个系统中正确地将目录的路径存储在向量中:

  • 基于 Unix 的:“/home/dir1/dir2/”
  • Windows:“\home\dir1\dir2\ ”

欢迎任何想法!提前感谢您抽出时间接受采访。

更新: 我决定在创建虚拟文件路径后提取目录,并且在使用我需要访问的每个文件创建完整路径时,我只是创建了每个带有 和 作为参数的参数dirname(file.path("home", "dir1", "dir2", "*.*")paste0()sep=.Platform$file.seppaste0()

R 目录 操作系统 兼容性

评论

0赞 zx8754 10/9/2023
阅读此处包 - cran.r-project.org/package=here
1赞 SamR 10/9/2023
当你说目录需要尾部斜杠时,你能更具体一点吗?在我的 Windows 和 Ubuntu 系统上,如果我在没有尾部斜杠的情况下运行,R 会列出该目录中的文件。哪些操作系统需要尾部斜杠,用途是什么?另外值得一试的是,是否有任何平台的文件分隔符不是“/”?dir("./dir1")
0赞 Luisa 10/9/2023
我试图从文件的硬编码路径更改为更通用的路径,我注意到仅将文件名和目录放在一起,没有添加 / 并且我的地址不起作用。这就是为什么我认为如果 file.path() 存在,目录也是可能的。在“更新”中,我放置了我的解决方案。我想它现在可以在所有平台上使用。
0赞 SamR 10/9/2023
@Luisa好的,如果你对你的解决方案感到满意,那么你还有问题还是应该关闭它?
0赞 Luisa 10/10/2023
@SamR:我很高兴;-)谢谢。是的,您可以关闭它。我希望它能在未来帮助到某人。感谢您的所有评论和帮助。

答: 暂无答案