繁体   English   中英

Python - 如何逐字节编辑十六进制文件

[英]Python - How to edit hexadecimal file byte by byte

我希望能够逐字节地打开图像文件并添加十六进制值。 我不知道如何做到这一点和google搜索“python字节编辑”和“python字节数组”没有提出任何东西,令人惊讶。 有人能指出我需要使用的库,我可以谷歌的特定方法,或教程/指南?

根据您的要求,可能足以以二进制模式打开文件并使用普通文件函数读取数据:

# load it
with open("somefile", 'rb') as f:
    data = f.read()

# do something with data
data.reverse()

# save it
with open("somefile.new", 'wb') as f:
    f.write(data)

Python并不关心data字符串是否包含“二进制”或“文本”数据。 如果您只想对合理大小的文件进行简单修改,这可能就足够了。

Python标准库有mmap模块,可用于完成此操作。 查看文档以获取更多信息。

Hachoir框架是一组用于解析和编辑二进制文件的Python库和工具:

http://pypi.python.org/pypi/hachoir-core

它具有常见文件类型的知识,因此这可能就是您所需要的。

查看stuct模块。

此模块执行Python值和表示为Python字符串的C结构之间的转换。 它使用格式字符串(如下所述)作为C结构布局的简要描述以及与Python值的预期转换。 这可用于处理存储在文件中的二进制数据或来自网络连接以及其他来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM