【发布时间】:2022-01-18 22:55:42
【问题描述】:
基本上,我想插入文本并覆盖其他文本,例如当您单击键盘上的“插入”按钮时。那可能吗?我真的不想读完所有的行,我只想换一个字母。
之前的文件:
abcd
代码:
with open(file, INSERT) as f:
f.seek(1)
f.write('e')
之后的文件:
aecd
【问题讨论】:
基本上,我想插入文本并覆盖其他文本,例如当您单击键盘上的“插入”按钮时。那可能吗?我真的不想读完所有的行,我只想换一个字母。
之前的文件:
abcd
代码:
with open(file, INSERT) as f:
f.seek(1)
f.write('e')
之后的文件:
aecd
【问题讨论】:
如果你想完全按照你所说的去做,这应该可以解决问题:
with open(file, 'r+') as f:
f.seek(1)
f.write('e')
输出:
aecd
【讨论】:
我找到了answer to a similar question from way back。这是我找到的答案的更新版本(根据您的需要量身定制):
import os,mmap
with open("test", "r+b") as f:
mm = mmap.mmap(f.fileno(), 0)
mm[1:2] = b"e"
mm.close()
输出
aecd
【讨论】: