struct array und co...
Verfasst: Dienstag 29. März 2005, 19:09
Ich hab die Siemens M740AV DVB-T Box. Diese speichert TV-Aufnahmen auf ein Netzlaufwerk. Dabei werden Informationsdateien *.crid (Formatbeschreibung) abgespeichert. Diese liegen in einem Binärformat vor.
Ich hab eigentlich keine Ahnung von Binärdatenverarbeitung... Aber ich hab es halbwegs geschaft, mir die Daten Anzeigen zu lassen.
Allerdings etwas unschön (Source-Auszug):
Nun hab ich mal versucht das ganze mit array auszuwerten.
Aber das will so nicht:
Ich hab eigentlich keine Ahnung von Binärdatenverarbeitung... Aber ich hab es halbwegs geschaft, mir die Daten Anzeigen zu lassen.
Allerdings etwas unschön (Source-Auszug):
Code: Alles auswählen
def unpack(txt,fmt=">i"):
try:
return struct.unpack(fmt,txt)[0]
except struct.error:
return False
def dumpCRIDfile(filename):
print filename
f = open(filename,"rb")
txt = f.read()
f.close()
print "Versionsbyte:",unpack(txt[0:4])
print "Status:",unpack(txt[12:16])," 1=noch nicht aufgenommen, 2=während der Aufnahme, 3=fertig aufgenommen"
beginTime = unpack(txt[16:20])
print "Beginn Timestamp: %s" % beginTime
Aber das will so nicht:
Code: Alles auswählen
def CRIDfile( filename ):
print filename
fileobj = file( filename,"rb" )
binvalues = array.array("b")
binvalues.fromfile(fileobj, 4)
print "Versionsbyte:",binvalues
binvalues = array.array("b")
binvalues.fromfile(fileobj, 4)
print "Status:",binvalues
binvalues = array.array("f")
binvalues.fromfile(fileobj, 8)
print "Beginn Timestamp:", binvalues