Wie bekommt man das Byte in die Binärdatei?
Code: Alles auswählen
f= open("test.bin","wb")
byte=45
f.write(...)
f.close
gruss
Code: Alles auswählen
f= open("test.bin","wb")
byte=45
f.write(...)
f.close
Code: Alles auswählen
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = open("test.bin", "wb")
>>> import struct
>>> byte=45
>>> data = struct.pack('i', byte)
>>> f.write(data)
>>> f.close()
>>>
Code: Alles auswählen
>>> import struct
>>> f = open('test.bin', 'rb')
>>> intsize = struct.calcsize('i')
>>> data = f.read(intsize)
>>> num = struct.unpack('i', data)
>>> print num
(45,)
Code: Alles auswählen
print "byte schreiben"
f=open("test.bin","wb")
f.write(chr(9))
f.write(chr(10))
f.close
print "byte lesen"
f= open("test.bin","rb")
a=str(f.read(1))
print a
a=str(f.read(1))
print a
f.close
Wieso magst du denn mit f.read(1) lesen? Und warum schreibst du den Tabulator und das Newline Zeichen in die Datei?funkheld hat geschrieben:Hallo, schreiben geht jetzt.
Lesen auch, weil keine Fehlermeldung kommt, aber das a wird nicht ausgegeben.
Gruss
Code: Alles auswählen
print "byte schreiben" f=open("test.bin","wb") f.write(chr(9)) f.write(chr(10)) f.close print "byte lesen" f= open("test.bin","rb") a=str(f.read(1)) print a a=str(f.read(1)) print a f.close
Die test.bin ist laut Windows nur 2byte gross.Wieso magst du denn mit f.read(1) lesen? Und warum schreibst du den Tabulator und das Newline Zeichen in die Datei?
funkheld hat geschrieben:Hmmmm..., in der test.bin stehen nur 2 byte drin, die 9 und die 10.Wieso magst du denn mit f.read(1) lesen? Und warum schreibst du den Tabulator und das Newline Zeichen in die Datei?
Wieso kommst du jetzt auf Tabulator und Newline.?....hm..
Code: Alles auswählen
>>> chr(9)
'\t'
>>> chr(10)
'\n'
>>>
Code: Alles auswählen
print "byte schreiben"
with open("test.bin", "wb") as f:
f.write(chr(9))
f.write(chr(10))
print "byte lesen"
with open("test.bin", "rb") as f:
a=str(f.read(1))
print repr(a)
a=str(f.read(1))
print repr(a)
fhoech hat geschrieben:Code: Alles auswählen
print "byte schreiben" with open("test.bin", "wb") as f: f.write(chr(9)) f.write(chr(10)) print "byte lesen" with open("test.bin", "rb") as f: a=str(f.read(1)) print repr(a) a=str(f.read(1)) print repr(a)
funkheld hat geschrieben:Wie Printet man jetzt die Zahlenwerte?
Gruss
funkheld hat geschrieben:Wie Printet man jetzt die Zahlenwerte?
Code: Alles auswählen
print ord(a)
Hehe, ich sollte mir ne neue Brille kaufen … "Zahlenwerte"fhoech hat geschrieben:funkheld hat geschrieben:Wie Printet man jetzt die Zahlenwerte?Code: Alles auswählen
print ord(a)
Nichts für ungut, aber hast Du eigentlich mal im anderen Thread geantwortet? Ist schon wenig motivierend, wenn man sich Mühe gibt, jemandem zu helfen und sieht, dass er nun in einem anderen Thread so aktiv ist.funkheld hat geschrieben:Jupp, danke. Jetzt funktioniert es wunderbar..
Jetzt möchte ich 4096 aus einer Datei auslesen in einem ByteArray und dann wieder bestimmter Werte aus dem ByteArray ausgeben. Wie geht das?