Как открыть локальный HTML-файл из R независимым от операционной системы способом?

Как открыть локальный HTML-файл из R независимым от операционной системы способом?

Для демонстрации предположим, что файл называется test.html и находится в рабочем каталоге.

начальные мысли

  • system('gnome-open test.html')
    • Это работает на Ubuntu
  • browseURL(paste('file://', getwd(),'test.html', sep='/'))
    • Это работает на Ubuntu, но это похоже на хак, и я не уверен, будет ли это работать на Windows.

3 ответа

Решение

Я просто хотел вытащить ответ, данный @daroczig, из комментариев и в ответ. Если @darcozig захочет опубликовать это как отдельный ответ, я удалю эту копию.

openHTML <- function(x) browseURL(paste0('file://', file.path(getwd(), x)))

Вы можете найти мой open.file.in.OS Функция полезна, источники можно найти здесь.

Краткое описание того, что делает эта функция:

  1. Проверьте платформу
  2. В зависимости от платформы звоните:
    • shell.exec в Windows
    • open с system на Mac
    • а также xdg-open с system на другой Unix-подобной операционной системе
  3. Пользы shQuote в личном файле

Обновление: смотрите сейчас openFileInOS в pander пакет.

Ссылки: эта функция является раздвоенной версией Дэвида Хаджаге convert Функция может быть найдена здесь.

Использовать file.path функция для построения пути к файлу.

 file.path(..., fsep = .Platform$file.sep)


 ...: character vectors.

fsep: the path separator to use.

По умолчанию он будет использовать текущий разделитель пути os.

Например

> file.path ("", "home", "phoxis", "paragraph")
[1] "/home/phoxis/paragraph"

Это создает мой файл "/home/phoxis/ абзац"

Обратите внимание на пустую строку "" в начале. Это заставляет добавлять лишние "/" в моем случае для генерации абсолютного пути. Настройте для создания абсолютного или относительного пути в соответствии с вашими потребностями и посмотрите на ?file.path

Я думаю, что это удовлетворит ваши потребности

Другие вопросы по тегам