【发布时间】:2012-09-30 00:45:09
【问题描述】:
我正在处理来自大型模型的信息,这意味着我有很多带有两个浮点列(比如说 X 和 Y)的大型 ascii 文件。但是,每当我必须读取这些文件时,都需要很长时间,所以我想也许将它们转换为二进制文件会使读取过程更快。
我使用 uu.encode(ascii_file,binary_file) 命令将我的 asciifile 转换为二进制文件,效果很好(实际上,测试了解码部分,我恢复了相同的文件)。
我的问题是:有没有办法直接将二进制文件读入 python 并将数据放入两个变量(x 和 y)中?
谢谢!
【问题讨论】:
-
如果您打算完全使用 Python 中的文件,请改用
cPickle腌制模型数据,因为这是在 Python 中保存和加载数据的更快方法。 -
另外,
uu.encode不会将任何内容编码为二进制;它实际上将二进制编码为ASCII。因此,在 Python 中加载 uuencoded 文本实际上会更慢,因为您必须解开 uuencoding,然后从解码文本中加载 ASCII 浮点数。