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

时间:2017-07-12 19:49:25

标签: python python-3.x hex hex-file

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

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

现在我有一个地址

startAddress = some value

我想读取从$ startAddress开始分隔到零值的存储数据。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

以下代码是解决方案。首先,我将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