2016-03-24 54 views
1

私はJuliaでパッケージを作成しており、DocsのPackage Developmentセクションに従っています。Juliaパッケージのデータファイルと絶対パスまたは相対パス

私の機能の1つが、パッケージディレクトリに格納されているデータファイル(mydata.txt)を開いて読み込みます。

パッケージディレクトリからJuliaを実行しても、テストを実行するかJuliaを別のディレクトリから実行すると、そのデータファイルがどこにあるかわからないため、すべてがうまく動作します。

私はちょうどような何かできると思っています。ファイルへの絶対パスを取得するために、まだ動作していないよう

datapath = Pkg.dir("MyPkg") * "/data/" 

を。

パッケージ内のデータに絶対ファイルパスを指定する正しい方法は何ですか?適切にマルチプラットフォームのディレクトリのファイルとパスを処理するために

+2

あなたはどんなOSで、どのバージョンのJuliaが、どうしてうまくいかなかったのですか?通常は、ディレクトリを構築するときは、連結の代わりにjoinpathを使用する必要があります。 –

+0

Mac。ジュリア0.4.5。基本的にはファイルが見つかりません。 'joinpath'のヒントをありがとう、私はそれを与えるだろう。 – user12202013

+1

'joinpath(Pkg.dir(" MyPkg ")、" data "、" mydata.txt ")'が動作するはずです。 –

答えて

3

は、使用ジュリアのビルトインjoinpath方法:結果のパスは、すべてのプラットフォームで有効になります

joinpath(Pkg.dir("MyPkg"), "data", "mydata.txt") 

関連する問題