-1

这个问题出现了,然后被删除:

在 Python 中,路径名可以用三种方式表示:

mypath = r"C:\folder\temp.shp"    
mypath = "C:\\folder\\temp.shp"    
mypath = "C:/folder/temp.shp"

路径名在 R 中的表达方式有哪些?

复制问题结束。我不能说关于 Python 的陈述的有效性,但很惊讶对 SO 的简单搜索并没有很好地描述 R 路径名(和特定于操作系统的)问题。(然后我的部分书面答案与问题一起被删除。)

4

2 回答 2

2

对于平台独立性,您可以使用正斜杠 ( "C:/folder/temp.shp") 或使用file.path(例如file.path('c:','folder','temp.shp')。后者特别方便用于变量而不是使用paste.

例如,您可以将根目录存储在.Rprofile每台计算机上的变量中,然后使用它file.path来指向特定文件。

在 Windows 计算机中 .Rprofile:.db <- "C:/Dropbox" 在 OS/X 或 Linux 计算机中 .Rprofile:.db <- "/home/foo/Dropbox"

然后在您的代码中,您将调用:

mypath <- file.path( .db, "folder", "temp.shp" )

@DWin 已经指出了特定于 Windows 的方法,我认为应该避免这些方法正是因为它们不是独立于平台的(而且对于那些尚未学习字符转义的人来说,它们往往会更加困惑。

于 2013-06-15T20:32:03.583 回答
1

第三个版本适用于 CRAN 上分发的所有 3 个操作系统特定版本。(Windows 版本会将正斜杠转换为反斜杠。)第二个版本可以工作,但仅适用于 Windows 版本。第一个版本实际上没有任何反斜杠,因为字符向量在 R 中的解析方式,而是有 escape-F 和 escape-T,它们不是有效的目录分隔符。

德克说了什么;

并注意.Platform$file.sep)返回目录分隔符的系统独立版本,并看到@AriB.Friedman 已经指出?file.path可用于构造有效路径。

于 2013-06-15T20:30:39.170 回答