我想知道是否有人可以帮助我解决使用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)然后,我必须在另一个程序中使用该数据。这是一个时域仿真,我需要在每次迭代时读取数据。我观察到以下内容:
从我创建的文件中读取数据会使进程慢得多。
奇怪的是,如果我使用相同的数据(在我的子程序之前没有保存它),程序会很快。例如,如果我保存数据,它会变慢,但如果我重新启动计算机,它会很快。
以后使用时,文件可能没有关闭。
如果有人能给我一些关于这个问题的可能原因的线索,我将非常感激。
非常感谢。
哈维尔
答案 0 :(得分:1)
我怀疑savetxt
方法最后没有关闭文件。
无论如何,当然,您可以这样保存文件:
with open('myfile.txt', 'wb') as f:
np.savetxt(f, A, fmt='%-7.8f', delimiter=',')
在这种情况下,您确定该文件随后会关闭。