用
可以读入含有用输入形式给出的 Mathematica 表达式的文件. 但有时还需要读入其它格式的数据文件. 例如,输入含有外部程序产生的、用空格分隔的数据序列. 这些数据不能作为 Mathematica 输入直接读取. 然而,函数
ReadList 可以从文件或输入流取这些数据,并将它们转化为一个 Mathematica 列表.
ReadList["file",
Number]从文件中读入数字序列,将它作为 Mathematica 的一个列表
从文件读数字.
这里是一个数字文件.
读入文件中所有数字,返回值是它们的列表.
Out[2]=
ReadList["file",{
Number,
Number}]从文件读入数字,分别将相继的两个组成列表
ReadList["file",
Table[
Number,{n}]]分别将相继的 n 个数字的块组成一个列表
ReadList["file",
Number,
RecordLists->
True]
分别将文件中每行的数字组成一个列表
读入数字块.
分别将文件中相继的两个数字组成一个列表.
Out[3]=
分别将文件中的每行组成一个列表.
Out[4]=
ReadList 可以处理Fortran中 "
E" 一类记号的数字. 因此,例如,
ReadList 将 2.5
E+5 读入为
. 注意,
ReadList 可以处理任意精度的数字.
这里是含有一个Fortran型 "
E" 记号数字的文件.
ReadList 可以处理这一类型的数字.
Out[6]=
ReadList["file",type]读入同一类对象的序列
ReadList["file",type,n]最多读入 n 个对象
读入各种类型的对象.
ReadList 不仅能读入数字,还可以读入其它类型的对象. 对象的类型用
Number 等符号指定.
这是包含文本的一个文件.
这里产生文件中的字符列表,每个元素是单个字符的字符串.
Out[8]=
这里是对应于文件中每一个字节的整数代码.
Out[9]=
这里将文件中每行的数据分别放在一个集合中.
Out[10]=
Byte单字节数据,返回值是一个整数
Character单字符,返回值是单字符字符串
Real用Fortran型记号的近似实数
Number用Fortran记号的精确或近似数
Word按词分离的字符序列
Record按记录分离的字符序列
String用换行结束的字符串
Expression完整的 Mathematica 表达式
Hold[
Expression]完整的 Mathematica 表达式,返回值在
Hold 内
读入的对象类型.
这里返回的是文件
中词的列表.
Out[11]=
ReadList 可以从一个文件读入词. 它将词看作由词定界符分隔的字符串序列. 可以设置选项
WordSeparators 去指定要处理的字符串作为词分隔符. 默认的设置包括空格键和跳格键,但不包括标准的标点符号. 注意,相继词可以用任意数量的词分隔符来分隔. 这些分隔符在
ReadList 的返回值中不作为实际词的任何部分.
选项名
默认值
RecordListsFalse是否在每个记录的对象中形成一个分隔列表
RecordSeparators{"\r\n", "\n","\r"}记录分隔符
WordSeparators{" ","\t"}词分隔符
NullRecordsFalse是否保持零长度的记录
NullWordsFalse是否保持零长度的词
TokenWords{}作为标记的词
ReadList 选项.
将文件
中的文本读入为一系列词,用字母
和
作为分隔符.
Out[12]=
Mathematica 将任意数据文件看作一个记录 序列. 默认每行是一个独立的记录. 一般,可以设置选项
RecordSeparators 去给出记录的分隔符列表. 注意,词不能包含记录分隔符. 与词分隔符相同,在相继的记录间可以有任意多个记录分隔符,这些分隔符不是记录的任何部分.
默认该文件的每行是一个记录.
Out[13]//InputForm=
这是由三个"句子"组成的文件,每句用句号结束.
这里包含的句号和换行都是记录分隔符.
Out[15]=
将每句中的词分布放入几个列表中.
Out[16]=
ReadList["file",
Record,
RecordSeparators->{}]
将整个文件读入为一个字符串
ReadList["file",
Record,
RecordSeparators->{{"lsep1",...},{"rsep1",...}}]
给出文件中位于
和
之间的部分的列表
设置
RecordSeparators 选项.
这里是包括一些文本的文件.
读入文件
中的所有文本,返回值是一个字符串.
Out[18]//InputForm=
给出文件中位于
和
之间部分的列表.
Out[19]=
通过选择适当的分隔符,可以选出文件中的特定部分.
Out[20]=
Mathematica 允许在相继的记录或词中间使用任意数量的分隔符. 但出现几个分隔符时,有可能会认为在相继的两个分隔符间出现一个空记录或空洞. 这需要设置选项
NullRecords->
True 或
NullWords->
True 来确定.
这里是一个将:作为词分隔符的文件.
这里将重复的:仅作为一个分割符.
Out[22]=
这里认为重复的:中有一个空词.
Out[23]=
在大部分情况下,词用词分隔符分隔,词分隔符本身不作为词. 但有时用标记词来分隔词是方便的,这些标记词本身也是词. 可以设置选项
TokenWords 来给出一个标记词的列表.
这里是一些文本.
这里读入文本,用给定的标记词来分隔文本中的词.
Out[25]=
可以用
ReadList 从文件读入 Mathematica 表达式. 尽管一个表达式可以持续多行,但一般情况下,一个表达式用换行结束.
这是一个包括文本的文件,可用作 Mathematica 的输入.
这里将
中的文本读入为 Mathematica 表达式.
Out[27]=
这里禁止对表达式进行计算.
Out[28]=
ReadList 可以将读入的对象插入任何 Mathematica 表达式中.
ReadList 的第二个变量可以是包含指定读入对象的
Number 和
Word 等表达式. 因此,例如,
ReadList["file", {
Number,
Number}] 将读入的相继数对插入到列表中. 同样,
ReadList["file",
Hold[
Expression]] 将读入的表达式放在
Hold 内.
当
ReadList 在读入所指定的一组对象还未结束前就到达文件末尾,它就在还没有读入的对象处插入特殊符号
EndOfFile.
这是一个数字文件.
在到达文件结束之后,符号
EndOfFile 出现在所需数字的位置.
Out[30]=
ReadList["!command",type]执行一个命令,读入它的输出
ReadList[stream,type]读任何输入流
从流和命令中读入.
执行Unix命令
,将其输出读入一个字符串.
Out[31]=
OpenRead["file"]打开一个要读入的文件
OpenRead["!command"]打开一个输入管道
Read[stream,type]从流中读一个有指定类型的对象
Skip[stream,type]跳过输入流中具有指定类型的一个对象
Skip[stream,type,n]跳过输入流中具有指定类型的 n 个对象
Close[stream]关闭一个输入流
读输入流的函数.
ReadList 可以读文件或输入流中的所有 数据. 有时候,每次仅需要读入一块数据,可能要由此确定下一次所需数据的类型.
当从文件读入单个数据块时,Mathematica 总是记录文件中的"当前点". 调用
OpenRead 时,Mathematica 由文件建立一个输入流,将当前点放在文件开头. 用
Read 从文件读入一个对象时,Mathematica 就将当前点放在刚读过的对象之后. 用
Skip 可以使当前点跳过一些对象,而不读入它们.
这里是一个数字文件.
这里由文件打开一个输入流.
Out[33]=
读该文件中的第一个数.
Out[34]=
读入第二对数.
Out[35]=
跳过下一个数.
读入其余的数.
Out[37]=
关闭输入流.
Out[38]=
在
Read 和
Skip 中,可以和在
ReadList 中一样地使用
WordSeparators 和
RecordSeparators .
注意,当读入到文件结束时,
Read 就返回符号
EndOfFile.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。