在Mathematica中将文件内容粘贴到字符串中的最佳方法是什么?

时间:2010-10-14 20:38:47

标签: string file-io file wolfram-mathematica

我知道这是常见的,但谷歌搜索没有成为Mathematica的明确答案所以我认为在StackOverflow上有这个是有价值的。

我一直在使用Import进行此操作,但我发现这可能非常低效,Import是如此重量级的功能。

所以问题是,你可以改进以下内容:

slurp[filename_] := Import[filename, "Text"]

1 个答案:

答案 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,并围绕此操作构建自定义函数以加载所有数据。


  1. 您可以在Reading Textual Data tutorial
  2. 中找到