GetHelpBrowserLocationMetaTag Rest LinkTrail Tags First Null
此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)
 /

2.11.4 命名及查找文件

对文件命名的细节随计算机系统的不同而改变,但 Mathematica 提供了所有系统可用的一般机制.
正如在 1.11.2 节中所述,Mathematica 假定文件放置在各种级别的目录中, 要找出一个文件时,不仅要知道文件名,还要知道该文件所在的目录序列.
在任何时刻有一个当前工作目录,要确定一个文件或目录时就要给出 它们相对于该目录的位置. 当要指定该目录中的一个文件时,就不需要 给出目录信息,只需给出文件名即可.

目录操作

这里给出当前工作目录字符串

设置当前工作目录是 Packages 子目录

现在的工作目录与以前的不同

转到以前的工作目录

调用 SetDirectory 时可以给出所用操作系统能识别的任何目录名.例如,在 Unix 系统中, 可以用 .. 指定上一级目录,用 ~ 指定主目录.
SetDirectory 进入一个目录时,Mathematica 总要提示前一个目录. 可以用 ResetDirectory 返回到前一目录. Mathematica 一般维持一个由 DirectoryStack[ ] 给出的目录堆栈,每次调用 SetDirectory 时就向堆栈中加一个新目录, 而每一次调用 ResetDirectory 时就从堆栈中删除一个目录.

特殊目录

当给出一个文件后,Mathematica 一般要经过几步来找到所需的文件. 第一步是使用所用操作系统或命令解释程序中的标准机理.
Mathematica 检查所给文件的全名,看是否有 *, $, ~, ?, [, ", \ 和 ' 等 通配符. 发现了这些字符时,就将全名送到操作系统或命令解释程序 去解释,这意味着在使用 Unix 系统时, name*$VAR 等构造将在此处展开. 但一般地,Mathematica 获取操作系统或命令解释程序的结果,并将其作为 文件全名.
对输出文件而言,这是 Mathematica 进行的最后一个处理. 当 Mathematica 没有找到所指定的文件时,它就产生这个文件.
当从一个文件输入时,Mathematica 要进行另一轮的输入. Mathematica 查看应该搜索的 Path 选项值. Path 选项的默认设置 是全局变量 $Path.

文件的搜索路径

一般地,全局变量 $Path 的定义是字符串列表,其中每个字符串代表一个子目录. 每输入一个文件后,Mathematica 就逐个将这些目录临时作为当前工作目录, 从其中寻找所给的文件.

这是 $Path 的一个典型设置先列出的是当前目录 (.) 和主目录 (~)

在特定目录中得到一个文件列表

这里是当前工作目录中所有结尾为 .m 的文件列表

这里列出了在以 P 开头的子目录中和当前工作目录中以 a 开头的文件

FileNames 的返回值是对应于文件名的字符串. 当返回到一个在当前目录中的文件时 ,它给出相对于当前目录的文件名. 所有文件名的格式适合于产生它们的 计算机系统.

文件名操作

应该看到不同计算机系统以不同的方式给出文件名. 例如,微软视窗系统 的形式一般是 dir:\dir\#dir\#name ,Unix 的形式是 dir/dir/name , Macintosh 系统的形式是 :dir:dir:name. 函数 ToFileName 根据所用的 计算机系统以适当的方式组成文件名.

这里给出了文件的目录部分

这里构造了 test.m 所在目录中另一个文件的全名

当要建立一个相关文件的集合时,当读一个文件时能涉及另一个文件往往是 方便的. 全局变量 $Input 给出当前输入的文件名. 用 DirectoryNameToFileName 就可以方便地指定其它相关的文件名.

找出涉及 Mathematica 当前正在读的文件的方法