ディレクトリ操作

Mathematicaでは、MacOSやLinuxなどがのUnix系OSのように、Windowsのようにファイルを管理するフォルダ(folder)をディレクトリ(directory)という。 Mathematicaでファイルを読み込んだり、指定する場所にファイルを書き出す場合にはディレクトリ情報が必要になる。 ファイルの場所(file path)の指定方法はWindowsとMacOSとでは異なるの各自の環境で確認してほしい(以下の例では、主にMacOSの場合を示す)。

主なMathematica関数

Directory[ ]
現在の作業ディレクトリを返す
Windowsの例
In[1]:= Directory[ ]
Out[1]= "C:\\Program Files\\Wolfram Research\\Mathematica\\8.0"

MacOSの例
In[1]:= Directory[ ]
Out[1]= "/Users/umeko/program"
SetDirectory[ ]
現行の作業ディレクトリを設定する
MacOSで、デスクトップにあるフォルダ work を指定する
In[2]:= SetDirectory["~/Desktop/work"]
Out[2]= "/Users/umeko/Desktop/work"
NotebookDirectory[ ]
保存してある現行評価中のMathematicaノートブックのディレクトリを返す(一度もファイルとして保存されていない場合は$Failedを返す)。
In[3]:= NotebookDirectory[ ]
Out[3]= "/Users/umeko/Documents/wavelet/program/"

ファイルの入出力

Mathematicaから必要なデータを入出力する場合には、プログラミングしているノートブックをまず保存した上で、目的ファイルへの相対ディレクトリパス指定をすることが便利な場合がある。

たとえば、作業しているノートブックが上のout[3]にあるとき、同じディレクトリ内にあるフォルダ data 内にある写真 monkey.jpg (正確には ~/Documents/wavelet/program/data/monkey.jpg)を読み込むときには次のようにノートブックのディレクトリを求めてからディレクトリをセットする。

SetDirectory[NotebookDirectory[ ]];
monkey = Import["data/monkey.jpg"]
もちろん、絶対ディレクトリパス指定が簡単な場合もある。 ピクチャーフォルダ内のtravelフォルダにある写真lion.jpgを読み込む場合には、ノートブックが何処にあっても
lion = Import["~/Pictures/travel/lion.jpg"]
とすればよい。