Как открыть локальный 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
Функция полезна, источники можно найти здесь.
Краткое описание того, что делает эта функция:
- Проверьте платформу
- В зависимости от платформы звоните:
shell.exec
в Windowsopen
сsystem
на Mac- а также
xdg-open
сsystem
на другой Unix-подобной операционной системе
- Пользы
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
Я думаю, что это удовлетворит ваши потребности