python - 如何将数据添加到二进制文件中?

标签 python file python-3.x

我有一个很大的二进制文件。我如何写入(前置)到文件的开头?

例如:

file = 'binary_file'
string = 'bytes_string'

我希望得到包含以下内容的新文件:bytes_string_binary_file

构造 open("filename", ab) 仅附加。

我正在使用 Python 3.3.1。

最佳答案

无法添加到文件中。您必须完全重写该文件:

with open("oldfile", "rb") as old, open("newfile", "wb") as new:
    new.write(string)
    new.write(old.read())

如果您想避免将整个文件读入内存,只需按 block 读取即可:

with open("oldfile", "rb") as old, open("newfile", "wb") as new:
    for chunk in iter(lambda: old.read(1024), b""):
        new.write(chunk)

1024 替换为最适合您的系统的值。 (就是每次读取的字节数)。

关于python - 如何将数据添加到二进制文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16387639/

相关文章:

python - 导入 "rest_framework"无法解析。但是我已经安装了djangorestframework,不知道哪里出了问题

python - turtle 代码被执行,但不在canvas中绘制

python - 如何在 git bash 上使用 python

Python:SSLError、握手错误、意外的 EOF

PyInstaller 生成的可执行文件中的 Python SSL 导入错误

java - java中高维矩阵元素的替换

c - 读取文件字符串

java - 计算文件中相同的行数,JAVA

python - 自动化无聊的事情,第 6 章 台式打印机

python-3.x - 如何在 Selenium + Python 中查找损坏的链接