savetxt&关闭文件+ python + numpy

时间:2014-05-27 08:46:54

标签: python numpy matrix

我想知道是否有人可以帮助我解决使用python + numpy函数'savetxt'时遇到的一个问题。

问题是:

(1)我有一个子程序,我将矩阵(数值数据)保存到文本文件中(使用函数savetxt):

例如:

import numpy as np
A = np.matrix('1 2; 3 4')
np.savetxt('myfile.txt', A, fmt='%-7.8f', delimiter=',')

(2)然后,我必须在另一个程序中使用该数据。这是一个时域仿真,我需要在每次迭代时读取数据。我观察到以下内容:

  • 从我创建的文件中读取数据会使进程慢得多。

  • 奇怪的是,如果我使用相同的数据(在我的子程序之前没有保存它),程序会很快。例如,如果我保存数据,它会变慢,但如果我重新启动计算机,它会很快。

以后使用时,文件可能没有关闭。

如果有人能给我一些关于这个问题的可能原因的线索,我将非常感激。

非常感谢。

哈维尔

1 个答案:

答案 0 :(得分:1)

我怀疑savetxt方法最后没有关闭文件。 无论如何,当然,您可以这样保存文件:

with open('myfile.txt', 'wb') as f:
    np.savetxt(f, A, fmt='%-7.8f', delimiter=',')

在这种情况下,您确定该文件随后会关闭。