How to|Mathematica 中输入与构建文件名

Mathematica 为文件的访问和使用提供了一种简单、 一致的方法. 除了插入您的操作系统特定的文件路径,Mathematica 还允许以编程方式构建目录和文件路径,实现不同的操作系统间的方便移植.

Mathematica 允许您使用 插入 ► 文件路径 菜单项,或修改击键式拖放直接键入要插入的目录与文件路径. 有关这些方法的详细信息,请参阅 How to: 插入文件路径.

您还可以使用 FileNameJoin 以编程方式构建完整的文件路径,或用 FileNameSplit 将文件路径拆分成单独的部分.

您写的任何使用这些函数的程序都可以在不同的操作系统中应用,因为这些程序将会根据当前的操作系统,使用适当的路径名分隔符及其它约定.

如果相反,您要通过 StringSplitStringJoin 来使用这些文件名,您需要根据程序运行所用的操作系统,手动替换文件名分隔符及其它文件名约定.

使用 FileNameJoin 为 Windows 上一个假设的文件构建一个路径:

In[5]:=
Click for copyable input
Out[5]=

在 Macintosh 上进行同样的操作:

In[10]:=
Click for copyable input
Out[10]=

FileNameJoin 还可用于包含路径名分隔符的文件路径:

In[18]:=
Click for copyable input
In[19]:=
Click for copyable input
Out[19]=

您不必为 FileNameJoin 提供一个文件,因为它也可用于目录:

In[20]:=
Click for copyable input
Out[20]=

在基于表示一定目录的 Mathematica 系统变量进行文件名和路径的构建时,FileNameJoin 非常有用.

FileNameJoin$UserBaseDirectory 一起使用,构建内核 init.m 文件的一个文件路径:

In[38]:=
Click for copyable input
Out[38]=

FileNameJoin$HomeDirectory 一起使用,构建手动输入的 文件路径:

In[17]:=
Click for copyable input
Out[17]=

另外一些表示目录惯用的 Mathematica 系统变量有 $BaseDirectory$RootDirectory$HomeDirectory$InstallationDirectory 等.

FileNameSplit 实际上正好与 FileNameJoin 相反.

使用 FileNameSplit 将一个文件路径拆分成各部分:

In[53]:=
Click for copyable input
Out[53]=

FileNameSplit$UserBaseDirectory 拆分. 该列表的第一个元素是一个空字符串. 这表示 $UserBaseDirectory 以一个文件名分隔符开始:

In[55]:=
Click for copyable input
Out[55]=
In[1]:=
Click for copyable input
Out[1]=

使用 Part 的简写形式)得到前四个目录组分:

In[62]:=
Click for copyable input
Out[62]=

使用 FileNameJoin 并使用 (指定最近的输出)根据这些组分构建一个目录路径:

In[63]:=
Click for copyable input
Out[63]=

您还可以通过使用 FileNameDrop 构建同一个路径:

In[66]:=
Click for copyable input
Out[66]=
In[65]:=
Click for copyable input
Out[65]=

通过去除 $UserBaseDirectory 中的最后三个目录,用 FileNameDrop 构建一个路径:

In[67]:=
Click for copyable input
Out[67]=
New to Mathematica? Find your learning path »
Have a question? Ask support »