如何在R中独立分割文件路径平台

时间:2019-03-13 12:59:13

标签: r split cross-platform filepath

我想将路径拆分为各个组件,并希望此路径在所有平台上都可以使用。

我知道标题看起来像是一个缺少先前研究的问题,因此我在下面记录了Google查询的结果。

我认为这很容易

strsplit("C:\\Path to\\file", .Platform$file.sep)

,但是文档?.Platform说:

  

... [这是在Windows上都与Unix相似的均为“ /” ...

我能想到的最常见情况是

strsplit("C:\\Path to\\file", "[\\/]")

但是我已经想到一个不起作用的特殊情况:UNC路径(\\server\folder\file),也许其他平台上还有更多?

this answer使用对dirnamebasename的重复调用,直到结果不再更改为止。这会更好地处理UNC路径,但并不理想(将"."作为最后一个元素添加)。到目前为止,这似乎是我最有前途的候选人。

问题

  1. .Platform$file.sep不包含Windows分隔符“ \”时有什么用?
  2. 独立于R平台将路径分为其组件的规范方法是什么?

附录:搜索查询

我在Google上搜索了“ r文件路径拆分平台独立的-python”(因为我只有python结果),但是结果表明没有解决方案:

  
      
  • R:构建文件的路径*(?file.path帮助页面)
  •   
  • 按行,平台无关地分割文本文件-堆栈溢出(java)
  •   
  • File.separator与路径中的斜杠之间的区别-堆栈溢出
  •   
  • 2高效的设置-高效的R编程(https://csgillespie.github.io/efficientR/set-up.htm
  •   
  • (有关MATLAB,Node.js,Perl等的更多结果)
  •   

仅搜索堆栈溢出时的结果:

  
      
  • java-逐行,独立于平台拆分文本文件
  •   
  • java-路径中的File.separator和斜杠
  •   
  • r-File.separator。将由file.choose()导入的文件路径保存到R
  •   
  • r-在R中保存由file.choose()导入的文件路径
  •   
  • javascript-JavaScript平台独立行分隔符
  •   
  • java-Java String.Printwriting时拆分-堆栈溢出
  •   
  • vb.net-有效的文件名检查。最好的方法是什么?
  •   
  • r-通过git存储库管理本地文件路径的方法是什么...
  •   
  • c#-如何用三个空行分割文本文件?
  •   
  • perl-NewLine作为独立于平台的新行。如何在Perl中拆分和连接字符串?
  •   

0 个答案:

没有答案