9

オペレーティングシステムに依存しない方法でRからローカルhtmlファイルを開く方法は?

test.htmlデモンストレーションのために、ファイルが呼び出され、作業ディレクトリにあると仮定します。

最初の考え

  • system('gnome-open test.html')
    • これはUbuntuで動作します
  • browseURL(paste('file://', getwd(),'test.html', sep='/'))
    • これは Ubuntu で動作しますが、ちょっとしたハックのように感じられ、Windows で動作するかどうかはわかりません。
4

3 に答える 3

7

私のopen.file.in.OS関数が役に立つかもしれません。ソースはここにあります。

この関数が何をするかについての簡単な要約:

  1. プラットフォームを確認
  2. プラットフォームに基づいて、次を呼び出します。
    • shell.execWindows の場合
    • opensystemMacで
    • および他xdg-opensystemUnix ライクなオペレーティング システムで
  3. shQuote提供ファイルの使用

更新:パッケージopenFileInOS内の を参照してください。pander

library(pander)
openFileInOS("d:/del/dt/a.html")

参考文献: この関数は、David Hajage の関数の分岐バージョンです。ここconvertで見つけることができます。

于 2012-06-10T13:30:07.487 に答える
4

@daroczig からの回答をコメントから取り出して回答にしたかっただけです。@darcozig がこれを別の回答として投稿したい場合は、このコピーを削除します。

openHTML <- function(x) browseURL(paste0('file://', file.path(getwd(), x)))
于 2012-06-18T03:31:10.747 に答える
0

関数を使用し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/paragraph」が生成されます

先頭の空白文字列 "" に注意してください。これにより、私の場合、絶対パスを生成するために余分な「/」を追加する必要があります。必要に応じて絶対パスまたは相対パスを生成するように調整し、見てください?file.path

これはあなたのニーズを満たすと思います

于 2012-06-10T13:30:56.617 に答える