如何写入文件的特定行?

Lar*_*per 1 python file

假设我有一个文本文件

Line 1
Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)

我仔细阅读并决定将第2行更改为第2行.我是否可以在Python中优雅地执行此操作而无需仅使用更改重写文件?我尝试使用file.seek(),但我并没有真正得到它,也不知道它究竟做了什么.

Mar*_*ers 6

文件是一个字节序列.如果要在中间更改需要更多或更少字节来表达的内容,则文件的其余部分需要调整大小.

因为文件是存储介质上的物理字节序列,这意味着您需要重写文件的其余部分.换句话说,您需要移动以下所有内容line 2.

实际上,这意味着重写文件,因为这更容易实现.