如何使用 IntelHex 包读取 python 中 intelhex 文件的非零部分

how to read non-zero part of intelhex file in python using IntelHex package

我正在尝试使用 python 3.6 的 Intelhex 包从 intelhex 文件中读取部分十六进制数据。我使用以下代码打开文件并尝试转换为字典(如果有帮助的话)。

ih = IntelHex("data.hex")
mydict = ih.todict() 

现在我有地址了

startAddress = some value

我想读取从 $startAddress 开始到零值分隔的存储数据。执行此操作的最佳方法是什么?

下面的代码就是解决方法。首先我将 IntenHex 文件转换为字典:

from intelhex import IntelHex
ih = IntelHex("sampleFile.hex")
ihdict = ih.todict()

然后遍历字典从startAddress到值是None的地方。我将值存储在名为 datastr.

的字符串中
datastr = ""
startAddress = 500300
while ihdict.get(startAddress) != None:
    datastr += str("%0.2X" %ihdict.get(startAddress))
    startAddress += 1