我有一个整数数组,我想使用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
先谢谢你。
答案 0 :(得分:1)
您需要将byte
转换为二进制字符串,然后才能将其写入以'wb'模式打开的文件。这可以使用bytearray()
函数完成。所以在这种情况下你应该使用:
for byte in MemData:
print(bytearray(byte))