如何从 python 创建十六进制格式的转储文件

How to create a dump file in hex format from python

我有一个整数数组,我想使用 python 脚本将其转储到一个二进制文件(具体为 HEX 文件)中 我写了一个代码

MemDump = Debug.readMemory(ic.IConnectDebug.fRealTime, 0, 0xB0009CC4, 0xCFF, 1)

    MemData = MemDump[:3321]
    # Create New file in binary mode and open for writing
    fp = open("MON.dmp", 'w')
    sys.stdout = fp
    for byte in MemData:
        print(byte)

此处 MemDump 包含一个整数值数组。我想从这个数组的前 3321 个字节转储到文件中。 在这里,我在文件 MON.dmp 中获取输出,但在 ASCII 格式中。 如果我使用

创建二进制格式的文件
fp = open("MON.dmp", 'wb')

print(byte) 命令给我一个错误

'str' does not support the buffer interface

在此先感谢您。

您需要将 byte 转换为二进制字符串,然后才能将其写入以 'wb' 模式打开的文件。这可以使用 bytearray() 函数来完成。所以在这种情况下你应该使用:

for byte in MemData:
    print(bytearray(byte))