代码之家  ›  专栏  ›  技术社区  ›  colorlace

写入不可知操作系统的文件路径

  •  2
  • colorlace  · 技术社区  · 6 年前

    我发现自己在Windows和OSX上处理一些R文件。

    在我为这个项目创建的几乎所有R文件中,都需要从文件系统导入一些数据。

    这样做对两个操作系统(OSS?)都有效。我在大多数文件的顶部都有类似的内容:

    if (Sys.info()['sysname'] == 'Windows'){
        project_path <- "C:/Users/Bilbo/project_folder"
    } else { 
        project_path <- "~/project_folder"
    

    最好不要在每个文件中单独实现这一点。一个想法是写一个函数 get_folder_path() 返回适当的路径,但问题是我必须用该函数导入文件 source() 这需要我去问 Sys.info()['sysname'] 破坏了目标。

    只使用这个函数编写一个包似乎太过分了(尽管我从未使用过 roxygen 这可能是一个很好的练习)这样我就可以 library(agnosticImporter) .

    有什么好主意吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   colorlace    6 年前

    我对这些评论没有把握,所以我 wrote a tiny package 为此目的。

    功能 get_home_dir() agnOStic 在Windows上返回“c:\\users\\bilbo\\”,在Mac或Linux上返回“~/”。