文件和流

文件名

name.mWolfram 语言源文件
name.nbWolfram 系统笔记本文件
name.maWolfram 系统从第3版以前的笔记本文件
name.mx输出所有 Wolfram 语言表达式
name.exeWSTP 可执行程序
name.tmWSTP 模版文件
name.mlWSTP 流文件

文件名使用惯例.

Wolfram 系统所使用的绝大多数文件都与系统完全无关. 然而,.mx 和 .exe 文件与系统有关. 对于这些文件,按照惯例,对不同计算机系统版本的名称进行捆绑,形式如 name/$SystemID/name.

一般情况下,当用户想要引用一个文件时,Wolfram 系统试图使用如下方法求解名称问题:

  • 如果名称以 开头,Wolfram 语言将名称的其它部分作为外部命令处理,并且对该命令使用一个管道.
  • 如果名称包含当前操作系统的元字符,那么 Wolfram 语言直接把名称传给操作系统来解释.
  • 除非文件用以输入,名称上不需要进一步操作.
  • 除非所提供的名称是当前操作系统的绝对文件名,Wolfram 语言将在列表 $Path 中指定的每个目录里进行查找.
  • 如果找到的是一个目录而非文件,那么 Wolfram 语言将查找文件 name/$SystemID/name.

对于形式为 的名称,在 Get 和相关函数中实现如下的进一步变换:

  • 使用文件 name.mx,如果它存在的话.
  • 如果 name.mx 是一个目录,那么如果 name.mx/$SystemID/name.mx 存在的话,使用它.
  • 如果存在的话,使用文件 name.m.
  • 如果 name 是一个目录,那么在文件 存在的情况下,使用该文件.

Install 中, 用来指代名称为 name.exe 的文件或目录.

InputStream["name",n]从一个文件或者管道的输入
OutputStream["name",n]一个文件或管道的输出

流的类型.

选项名
默认值
CharacterEncodingAutomatic用于特殊字符的编码
BinaryFormatFalse是否把文件以二进制格式处理
FormatTypeInputForm表达式的默认格式
PageWidth78每一行的字符数目
TotalWidthInfinity单个表达式中的最大字符数目

输出流的选项.

使用 Options 用户可以测试流的选项,并且使用 SetOptions 重设.