Python - 我可以使用插入模式更新我的文件吗?

Python - Can I update my file using Insert mode?

基本上我想插入文本并覆盖其他文本,就像您单击键盘上的“插入”按钮一样。那可能吗?我真的不想把所有的台词都读完,我只想改一个字母。

之前的文件:

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

mmap documentaion has a similar example