0

我正在尝试更新文件,但仅更新某些行。有很多行,我不想重写整个文件来更新它。前任。在 4k 行中我需要更改第 n 项中的 5 项

这个问题的大多数答案都使用两个文件或完全重写。我想知道是否有一个更有效的命令,一个可以一次攻击一行而不在进程结束时写入整个文件的命令。如果没有可能的方法,那么最有效的方法是什么。

我使用 Python 2.7

4

1 回答 1

0

问题是,磁盘上的文件只是一个字节序列。而不是智能存储的序列。也就是说,您可以更改文件中的第 n 行,当且仅当它包含的字节数在该操作之后保持不变。

如果您的 csv 格式允许在这些行中包含任意数量的无关紧要的空白,则可以使它们足够大以容纳您可能写入的任何数据(例如固定的足够大的行大小)。然后,您可以更新单行而无需重写整个文件。不过,您需要确保覆盖以前的内容(如果有)。

于 2012-09-27T19:31:09.137 回答