所以我需要记录一组 4 个整数,它们的值在一天中的每一秒都不同。IE:
#Here the values are initialized to the same value, however they will change as samples are taken
data = [[.25 for numData in range(4)] for numSecs in range(86400)]
现在显然第一个索引长度为 86400 的二维数组(gah 它的 python,LIST)是非常不切实际的。相反,我想创建一个包含 86400 行的文本文件,格式如下:
numSec data0 data1 data2 data3
0 .25 .25 .25 .25
1 .25 .25 .25 .25
2 .25 .25 .25 .25
...
在采集样本时,我希望能够编辑这个文件,不,我希望能够编辑 numSec = 采集样本的第二个文件的行。例如,在 numSec = 2(午夜后 2 秒)采集的样本将导致我的程序编辑文件,以便:
0 .25 .25 .25 .25
1 .25 .25 .25 .25
2 .70 .10 .10 .10
...
看起来很简单,我什至阅读了一堆帖子,这些帖子演示了如何在文本文件中重写单个文件。问题是,它们都要求您阅读整个文件。我不希望我的程序每秒读取 86,400 行。
因此我们遇到了我的问题:我是否可以读取文本文件中的一行,对其进行编辑,然后将其写回文件,而无需在每次需要进行更改时都读取整个文件?
PS我应该注意我正在运行Ubuntu 12.04(精确),这是用于ROS节点
PPS 该程序将运行任意天数,因此每一“秒”的数据都可以被多次读取和重写。我想使用文件的另一个原因是,如果需要关闭系统,我想保存发行版以供下次运行。