在Python文件中写入这么多值的更好方法(设备内存不足)

2024-09-24 22:31:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于Python文件输出的问题。 我在设计一个软件,读取3个传感器的值。 每个传感器在1秒内读取100个值,在每个进程之间,我必须将它们打印到文件中。你知道吗

time_memory = [k + i/100 for i in range(100)] # dividing 1 second into 100 intervals
x = [100 elements]
y = [100 elements]
z = [100 elements]

下面是写入文件的代码。你知道吗

for i in range(self.samples):
    self.time_memory[i] = file_time + self.time_index[i] 
    f.write("{0} {1} {2} {3}\n".format(self.time_memory[i], x[i], y[i], z[i]))

所以文件中的结果看起来像

time_value, x, y, z
time_value, x, y, z
...

但是,当测量时间超过8000秒时,软件停止。 我想这是由于太多的数据设备必须进行,因为我使用的设备是一种旧的。(我无法更改设备,因为计算机已连接到NI DAQ设备。)

我试图找到许多替代方法来更改上面的代码,但我找不到它。有人能帮我解决这个问题吗??你知道吗


Tags: 文件代码inselffor软件time进程
1条回答
网友
1楼 · 发布于 2024-09-24 22:31:31

一个建议是以二进制模式写入数据。这应该比文本模式快(它也需要更少的空间)。因此,您必须以如下方式以二进制模式打开文件:

f = open('filename.data', 'wb') 

相关问题 更多 >