当前位置:  开发笔记 > 编程语言 > 正文

如何用Python覆盖文件中间的一些字节?

如何解决《如何用Python覆盖文件中间的一些字节?》经验,为你挑选了2个好方法。

我希望能够使用Python覆盖文件中给定偏移量的某些字节.

我的尝试失败了,导致:

覆盖偏移处的字节,但也会在文件模式="w"或"w +"之后截断文件

在文件末尾附加字节(文件模式="a"或"a +")

是否可以通过Python以便携方式实现这一目标?



1> Ben Blank..:

试试这个:

fh = open("filename.ext", "r+b")
fh.seek(offset)
fh.write(bytes)
fh.close()


@Ben Blank:"r +"(更好,"r + b")就是答案."a +"对此无效.无论搜索是什么,用"a"或"a +"打开的文件都会在其末尾添加任何写入.

2> tomjen..:

根据此python页面,您可以键入file.seek寻求特定的偏移量。然后,您可以编写任何内容。

为避免文件被截断,您可以使用“ a +”将其打开,然后向右偏移。


不,答案以“ r + b”开头(二进制,因为我们要覆盖字节)。“ man 3 fopen”部分的说明应解释可用模式之间的差异。
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有