【问题标题】:How to create a dump file in hex format from python如何从python创建十六进制格式的转储文件
【发布时间】:2016-08-10 10:58:06
【问题描述】:

我有一个整数数组,我想使用 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

在此先感谢您。

【问题讨论】:

    标签: python-3.x hexdump


    【解决方案1】:

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

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

    【讨论】:

    • bytes() function alos 给了我同样的错误'str' does not support the buffer interface
    • fp.write(bytearray(MemData)) 这对我有用。得到预期的结果。 @Dartmouth:谢谢你给我提示
    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 2014-04-08
    • 1970-01-01
    相关资源
    最近更新 更多