mathematica中便携式笔记本电脑的相对路径

时间:2012-05-24 22:41:31

标签: windows file wolfram-mathematica relative-path

我找不到如何在mathematica中使用相对路径。我的目录结构很简单。

Import["G:\\Research\\Acc and Vel Runs\\5-24\\Mathematica\\Data\\250 \
Acc.xls"][[1]] // TableForm  

通过使用菜单中的插入路径演示绝对路径。我希望这款笔记本便携。我想给某人“Mathematica”目录,我希望他们能够运行代码。我不希望路径中断,因为它将在不同的机器上运行。基本上我只想使用从上面显示的Mathematica级别开始的相对路径。

2 个答案:

答案 0 :(得分:6)

在Mathematica中,您可以使用Directory[]获取当前目录,然后使用SetDirectory[]将其设置为其他目录。您可以使用ReserDirectory[]返回上一个位置,或使用DirectoryStack[]检查之前的所有位置。

文档here中描述了这一点。

您可以将当前目录设置为笔记本使用的目录

SetDirectory[NotebookDirectory[]]

要使NotebookDirectory正常工作,您必须使用前端,并且必须保存笔记本。

您始终可以使用相对于当前目录(Directory[])的路径,例如Import["data/somedata.txt"]

关于目录分隔符:/将始终在所有Windows / Linux / Mac上运行。当您键入相对路径名时,使用/进行便携性比FileNameJoin更方便。

答案 1 :(得分:2)

我通常这样做。

SetDirectory[
  FileNameJoin[{$InitialDirectory, "dir1", "dir2"}]];
Quiet[Close["Log.txt"]];
logStream = Quiet[OpenWrite["xmlAreaTagsLog.txt"]];
xmlDoc = Import["XmlData.xml"];

使用$ InitialDirectory可以获取.nb目录,使用FileNameJoin可以获得相对访问权。