in Python Daten aus einer Binärdatei zu interpretieren ich eine Datei Byte für Byte lesen möchten, und überprüfen, ob das letzte Bit jedes Byte festgelegt ist:Lesen und
#!/usr/bin/python
def main():
fh = open('/tmp/test.txt', 'rb')
try:
byte = fh.read(1)
while byte != "":
if (int(byte,16) & 0x01) is 0x01:
print 1
else:
print 0
byte = fh.read(1)
finally:
fh.close
fh.close()
if __name__ == "__main__":
main()
Der Fehler, den ich bekommen ist:
Traceback (most recent call last):
File "./mini_01.py", line 21, in <module>
main()
File "./mini_01.py", line 10, in main
if (int(byte,16) & 0x01) is 0x01:
ValueError: invalid literal for int() with base 16: '\xaf'
Wer eine Idee? Es ist mir nicht gelungen, die Module struct und binascii zu verwenden.
Lies http://stackoverflow.com/questions/306313/python-is-operator-behaves-unerwarteter-mit-integers, bevor du * diese * Arbeit erschaffst und öffnest einen Dip von * dieser * Frage;) – delnan