此问题出现后被删除:
使用Python,路径名可以用三种方式表示:
mypath = r"C:\folder\temp.shp"
mypath = "C:\\folder\\temp.shp"
mypath = "C:/folder/temp.shp"
路径名在R中的表达方式有哪些?
复制问题结束。我不能说有关Python的陈述的有效性,但是对SO的简单搜索没有得到R路径名(和特定于操作系统)问题的良好描述感到惊讶。 (然后我的部分书面答案与问题一起被删除。)
答案 0 :(得分:2)
对于平台独立性,您可以使用正斜杠("C:/folder/temp.shp"
)或使用file.path
(例如file.path('c:','folder','temp.shp')
。后者特别适合与变量一起使用而不是{{1 }}
例如,您可以将根目录存储在每台计算机上paste
的变量中,然后使用.Rprofile
指向特定文件。
在Windows计算机中.Rprofile:file.path
在OS / X或Linux计算机上.Rprofile:.db <- "C:/Dropbox"
然后在你的代码中你会打电话:
.db <- "/home/foo/Dropbox"
答案 1 :(得分:1)
第三个版本适用于在CRAN上分发的所有3个特定于操作系统的版本。 (Windows版本会将正斜杠转换为反斜杠。) 第二个版本可以工作,但仅适用于Windows版本。第一个版本实际上没有任何反斜杠,因为在R中解析字符向量的方式,而是具有escape-F和escape-T,它们不是有效的目录分隔符。
Dirk说的话;
请注意.Platform$file.sep)
返回目录分隔符的系统独立版本,并且看到@ AriB.Friedman已经指出?file.path
可用于构造有效路径。