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

时间:2016-08-10 10:58:07

标签: python-3.x hexdump

我有一个整数数组,我想使用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 fromat中。 如果我使用

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

print(byte)命令给出了一个错误

'str' does not support the buffer interface

先谢谢你。

1 个答案:

答案 0 :(得分:1)

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

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