python - 如何更改文件并仅将更改写入磁盘 - 基本上是 sed (python)?

标签 python file sed fopen file-manipulation

假设我有一个文件/etc/conf1

它的内容类似于

option = banana
name = monkey
operation = eat

假设我想用“鸵鸟”替换“猴子”。我怎样才能做到这一点而不将文件读入内存,更改它,然后将其全部写回?基本上,我如何“就地”修改文件?

最佳答案

你不能。 “ostrich”比“monkey”多一个字母,因此您必须至少从那时起重写该文件。文件系统不支持向上或向下“移动”文件内容。

如果它只是一个小文件,则没有理由为此烦恼,您不妨重写整个文件。

如果它是一个非常大的文件,您将需要重新考虑文件内容的内部设计,例如使用基于 block 的方法。

关于python - 如何更改文件并仅将更改写入磁盘 - 基本上是 sed (python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3178135/

相关文章:

python - 如何加速矩阵码

python - 使用 pythongremlin 删除 AWS Neptune 上的所有边

c - 从文件中读取和写入

regex - 使用 sed/regex/bash 脚本修改版本字符串

linux - 如果匹配下面的行不存在,则使用 bash 删除行

python - 有没有一种有效的方法可以只获得列表的 K 组合?

python - 如何编写接受 float 、列表或 numpy.array 的函数?

objective-c - 如何在 OSX 上的应用程序运行时获取更改名称的文件?

python - 获取文件复制到文件夹的时间(Python)

regex - 如何在 Mac OSX 上的 SED 中使用 PCRE 正则表达式