Read

Read[stream]
从一个输入流读取表达式,并返回该表达式.

Read[stream, type]
读取指定类型的对象.

Read[stream, {type1, type2, ...}]
读取指定类型的一系列对象.

更多信息更多信息

  • 可以读取的类型有:
  • Byte单字节,返回一个整数编码
    Character单字符,返回以一个由单字符组成的字符串
    Expression完整的 Mathematica 表达式
    Number整数或近似数,以 "E" 格式给出
    Real近似数,以 "E" 格式给出
    Record用记录分隔符分隔的字符序列
    String以换行符结束的字符串
    Word用单词分隔符分隔的字符序列
  • Real 类型的对象可以用诸如 C 和 Fortran 语言所使用的科学记数法以及标准的 Mathematica 格式给出. 类似 的格式,同 一样可以用来表示 . 读取为 Real 类型的对象总返回近似数. 读取为 Number 类型的对象若不明显包含小数点则以整数形式返回.
  • 可以使用以下选项:
  • NullRecordsFalse是否假定在重复的记录分隔符之间存在一个空记录
    NullWordsFalse是否假定在重复的单词分隔符之间存在一个空单词
    RecordSeparators{"\n","\r\n","\r"}记录之间所允许的分隔符
    TokenWords{}用作分隔符的单词
    WordSeparators{" ","\t"}单词之间所允许的分隔符
  • String 类型的对象必须以换行符结束.
  • 用户可以用 Read 指定要查找的嵌套类型列表. 每个读入的连续对象将放在列表结构中的相邻位置上. 访 问列表结构时使用深度优先搜索方式.
  • Read[stream, {Number, Number}] 从输入流读出一对数,并给出由两个元素组成的一个列表.
  • Read[stream, {{Number, Number}, {Number, Number}}] 读入一个2×2 的矩阵,先读入列再读入行.
  • 您可以用 Read 来获得对象并插入任何表达式结构中(不一定是列表). 例如: Read[stream, Hold[Expression]] 获得一个表达式,并把它放在 Hold 中.
  • Read 的第一个参数可以是 InputStream["name", n],或者如果只存在一个打开的具有指定名称的输入流,也可以是简单的 .
  • 您可以使用 OpenRead 来打开一个文件或管道,以获得一个 InputStream 对象.
  • 对任何流来说,总存在一个"当前位置". 当您从一个流读入一个对象时,当前位置放在您读取的输入之后. 因此对 Read 的连续调用可以用来读取输入流(例如文件)中的连续对象.
  • 当您试图读入在文件末尾之后的对象,Read 返回 EndOfFile.
  • 如果无法读取您所要求类型的对象,Read 返回 $Failed.
  • 如果在您试图读取的 Mathematica 表达式中存在一个语法错误,Read 会把当前位置放在出错的地方,并返回$Failed.

范例范例打开所有单元关闭所有单元

基本范例 (2)基本范例 (2)

打开一个数据流:

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

从数据流中读取表达式:

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

打开一个数据流:

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

从数据流中读取数:

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

读取单词和数:

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

关闭数据流:

In[4]:=
Click for copyable input
Out[4]=
版本 1 的新功能 | 版本 3 修改功能
New to Mathematica? Find your learning path »
Have a question? Ask support »