我知道这是常见的,但谷歌搜索没有成为Mathematica的明确答案所以我认为在StackOverflow上有这个是有价值的。
我一直在使用Import进行此操作,但我发现这可能非常低效,Import是如此重量级的功能。
所以问题是,你可以改进以下内容:
slurp[filename_] := Import[filename, "Text"]
答案 0 :(得分:2)
要一次导入整个文件,我所知道的唯一其他选项是ReadList
。它可以被哄骗将整个文件作为单个字符串返回,如下所示 1 :
In[1]:= ReadList["ExampleData/source", Record, RecordSeparators -> {}]
Out[1]:= {"f[x] (: function f :)\r\ng[x] (: function g :)\r\n"}
(注意:\ r和\ n实际上是在输出中解释的,但为了便于阅读,我将其留下了。)关键是删除任何RecordSeparators
。但是,老实说,我认为这不会为您节省任何费用,Import[ <file>, "Text"]
更容易编写。说实话,当我的数据格式未被Read[ <file>, String]
和Read
中使用的类型说明符覆盖时,我使用ReadList
,并围绕此操作构建自定义函数以加载所有数据。