Hint: What is the difference between these two lines:
data = binascii.hexlify(f.read(160))
binascii.unhexlify(data)
In Python, string objects are immutable. There is nothing you can call upon data
that will cause the string that data
names to change, because strings do not change. binascii.unhexlify
instead returns a new string - which is why the first statement even works in the first place. If you wanted to .write
the resulting new string, then that's what you should specify to happen in the code - either directly:
fo.write(binascii.unhexlify(data))
or by assigning it back to data
first.