Как разделить путь к файлу платформы независимо в R - PullRequest
0 голосов
/ 13 марта 2019

Я хочу разделить путь на его компоненты и хочу, чтобы это работало на всех платформах.

Я знаю, что заголовок выглядит как вопрос, который не требует предварительного исследования, поэтому я задокументировал результаты запросов Google, которые я сделал ниже.

Я думал, что это легко с

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

, однако в документации ?.Platform говорится:

... [это] "/"в обоих Unix-подобных и в Windows ...

Что подходит для общих случаев, о которых я могу думать, это

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

, но я уже могуВспомните один нерабочий случай: UNC-пути (\\server\folder\file) и, может быть, есть другие на других платформах?

Существует этот ответ с использованием повторных вызовов dirname и basename, пока результат не изменится.Это лучше обрабатывает 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 - Split text файл построчно, независимо от платформы
  • java - File.separator и косая черта в путях
  • r - File.separator.Сохранение пути к файлу, импортированного file.choose () в R
  • r - Сохранение пути к файлу, импортированного file.choose () в R
  • javascript - Независимый от платформы разделитель JavaScript
  • java - Java String.Split во время печати - Переполнение стека
  • vb.net - Проверка правильности имени файла.Каков наилучший способ?
  • r - Как управлять путями к локальным файлам вне репозитория git ...
  • c # - Как разделить текстовый файл на три пустые строки?
  • perl - NewLine как независимая от платформы новая линия.Как разбить и объединить строки в Perl?
...