2

エントリを持つtxtファイルがあります

indexUrl=http://192.168.2.105:9200
jarFilePath = /home/soumy/lib

このファイルを R から読み取って の値を取得するにはどうすればよいjarFilePathですか?

設定するにはこれが必要.jaddClassPath()です... WindowsとLinuxのスラッシュの違いにより、jarをクラスパスにコピーするのに問題があります

Linuxで使用したい

.jaddClassPath(dir("target/mavenLib", full.names=TRUE ))

しかし、ウィンドウズでは

.jaddClassPath(dir("target\\mavenLib", full.names=TRUE ))

プロパティファイルからjarの場所を読み取ることを考えています!!! 他に代替手段がある場合は、それも教えてください

4

2 に答える 2

5

2016 年 9 月の時点で、CRAN にはパッケージプロパティがあります。

プロパティ値を正しく処理します (ただし、最初の記号=の後のスペースは処理しません)。=

例:

プロパティ ファイルの内容/tmp/my.properties:

host=123.22.22.1
port=798
user=someone
pass=a=b

R コード:

install.packages("properties")
library(properties)

myProps <- read.properties("/tmp/my.properties")

その後、 などのプロパティにアクセスできますmyProps$host。特に、期待どおりmyProps$passですa=b

于 2016-09-07T18:37:22.363 に答える
4

パッケージが特定のインターフェイスを提供するかどうかはわかりません。

そうでない場合は、最初に read.table を使用してデータ フレームにデータをロードします。

myProp <- read.table("path/to/file/filename.txt, header=FALSE, sep="=", row.names=1, strip.white=TRUE, na.strings="NA", stringsAsFactors=FALSE)

sep="="は明らかにセパレータです。これにより、プロパティ名と値がうまく分離されます。

row.names=1最初の列には行名が含まれているため、この方法でデータ プロパティにインデックスを付けて、必要な各プロパティを取得できます。例:myProp["jarFilePath", 2]を返し"/home/soumy/lib"ます。

strip.white=TRUEおそらく気にしない前後のスペースを取り除きます。

ロードされたデータ フレームを名前付きベクターに便利に変換して、プロパティ値をよりクリーンな方法で取得できますmyPropVec <- setNames(myProp[[2]], myProp[[1]])

次に、その名前からプロパティ値を取得するには:myPropVec["jarFilePath"]も返し"/home/soumy/lib"ます。

于 2012-12-03T20:33:01.540 に答える