2017-06-25 4 views
3

必要な図形を生成するために必要なすべてのソフトウェアと同じgit repo内の用紙に対して、.texのマークアップを保持しているため、次のディレクトリ構造:イメージをファイルを生成するファイルよりも上位のディレクトリにエクスポートする方法

+- code 
| +- script.jl 
+- figures 
| +- figure.eps 
+- ... 

script.jlもし輸出figure.epsは、それが直接figuresフォルダにエクスポートすることは可能でしょうか?または、スクリプトそのもののエクスポート可能なレベル(つまり、code)ですか?

愚かな質問の場合はお詫び申し上げます。あなたが質問が発生する状況からわかるように、私はプログラマーよりも研究者であり、心に残ったキーワードを検索しても何の助けにもなりませんでした。

ありがとうございます!

+1

いくつかのファイル/ディレクトリのパーミッションは '' figure.eps'の場所にあなたを取得するファイル名 'joinpath( ".. "" 数字"、 "figure.eps")を使用して、介入しない限り、あなたは説明しました。親ディレクトリに移動する '" .. "'に注目してください。さらに、REPLの '?joinpath'を実行してください。 'joinpath'の必要性は、異なるOSがファイル名を少し違って扱うからです。また、現在のディレクトリを返す 'pwd()'をチェックしてください。コメントに与えられたファイル名は 'script.jl'の位置に関連していますが、他のカレントディレクトリにあるかもしれません。 –

答えて

4

あなたがアクセスできるコンピュータ上の任意の場所に図をエクスポートできます。 Dan Getzはディレクトリを指定するときにjoinpathがあなたの友人だと言いましたので、別のOSを使用することについて心配する必要はありません。

また、スクリプトを呼び出す場所も考慮する必要があります。私がpath/to/codeにいて、julia script.jlを実行している場合は、現在の作業ディレクトリからパスが計算されるため、joinpath("..","figures","figure.eps")を使用することができます。

ただし、script.jlの場所に相対的なパスを指定したい場合(どこからでもスクリプトを呼び出せるように)、ファイルを含むディレクトリの絶対パスを返す@__DIR__マクロを使用できます。マクロが呼び出されました。

joinpath(@__DIR__,"..","figures","figures.eps")

関連する問題