如何使用 open(fileName, 'a+') 写入文件开头
How to write to beginning of file using open(fileName, 'a+')
我正在使用
excelFile = open(fileName, 'a+')
打开文件并向其追加数据(追加很重要)。我在文件中写入了很多行,大约每秒 1 行,同时还进行了一些计算(随着时间的推移对每个变量进行积分)。在写完所有这些行后,我想转到文件顶部并写下每个变量的摘要。
看起来像这样:
Battery Energy In, Motor Energy Out, Odometer, Something else...
100, 50, 527km, ...
Battery Power In, Motor Power Out, Speed, ...
10, 5, 20
20, 4, 22
... 86,398 more lines
但是,这似乎不是一个选项,因为每当我使用 seek() 移动光标时,write() 仍然发生在文件末尾。
是否可以不必遍历每一行来计算和编写摘要,然后再次遍历它来编写它下面的行?
某些操作系统限制以追加模式打开的文件只能写入文件末尾。
改为以 'r+'
(read/write) 模式打开文件。考虑到文件位置从 0 开始。
我正在使用
excelFile = open(fileName, 'a+')
打开文件并向其追加数据(追加很重要)。我在文件中写入了很多行,大约每秒 1 行,同时还进行了一些计算(随着时间的推移对每个变量进行积分)。在写完所有这些行后,我想转到文件顶部并写下每个变量的摘要。
看起来像这样:
Battery Energy In, Motor Energy Out, Odometer, Something else...
100, 50, 527km, ...
Battery Power In, Motor Power Out, Speed, ...
10, 5, 20
20, 4, 22
... 86,398 more lines
但是,这似乎不是一个选项,因为每当我使用 seek() 移动光标时,write() 仍然发生在文件末尾。
是否可以不必遍历每一行来计算和编写摘要,然后再次遍历它来编写它下面的行?
某些操作系统限制以追加模式打开的文件只能写入文件末尾。
改为以 'r+'
(read/write) 模式打开文件。考虑到文件位置从 0 开始。