为了账号安全,请及时绑定邮箱和手机立即绑定

如何写入文件的特定部分?

如何写入文件的特定部分?

慕田峪9158850 2023-09-12 17:42:01
我想按字节替换文件的特定部分,这是一个丑陋的图像来解释我想要实现的目标:-我尝试用这段代码来做f=open('a.txt')f.seek(250, os.SEEK_SET)print(f.read(750))它工作正常,但它只读取文件,而不实际写入文件。我尝试使用这段代码f=open('a.txt')f.seek(250, os.SEEK_SET)print(f.write('data', 750))但write只需要 1 个参数,所以我无法使用write命令。有什么方法可以在 python 中实现这一点吗?
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

以适当的模式打开文件,查找所需的位置并写入要替换的字节数。要替换位置 250 到 750 之间的所有内容,您需要写入 500 个字节。

不过,在这种情况下,字节实际上并不正确,因为它似乎是一个文本文件,并且以文本模式打开。"r+b"如果您确实想要二进制模式,请使用。

with open("a.txt", "r+") as f:
    f.seek(250)
    print(f.read(500))
    f.seek(250)
    f.write("X"*500)


查看完整回答
反对 回复 2023-09-12
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

您应该使用 open('a.txt', 'r+')。



查看完整回答
反对 回复 2023-09-12
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信