将可变大小的数组写入文件

Write array of variable size to file

我正在开发一个 python 程序,需要将一些 "time step - quantity" 形式的数据写入文件。数据大小在运行时确定。现在我这样做(原理图):

f = open('data.txt', 'w')

while not condition:
    time_step += 1
    q = compute_q()
    f.write('{0:d} {1:.3e}'.format(time_step, q))

我的问题:这样做可以吗?或者我应该以某种方式缓冲数据而不是将缓冲区转储到文件中?转成hdf5这样的二进制格式怎么办?谢谢。

这取决于您的需求。如果您担心吞吐量,则应该缓冲您的写入。使用open()buffering参数。