savetxt 和关闭文件 + python + numpy
我想请教一下,关于我在使用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 个回答
1
我怀疑 savetxt
这个方法在结束时没有关闭文件。无论如何,为了确保文件被正确保存,你可以这样保存你的文件:
with open('myfile.txt', 'wb') as f:
np.savetxt(f, A, fmt='%-7.8f', delimiter=',')
这样做的话,你就可以确保文件在之后被关闭了。