irgendwas mache ich falsch, aber erst mal nen Codeschnipsel:
Code: Alles auswählen
for i in range(0, len(sfv_file_list)):
open_sfv_file = open(sfv_file_list[i], "rb") # open to calc file binary
for line in open_sfv_file: # calc sfv from file
test = zlib.crc32(line, test)
open_sfv_file.close()
crc_test.append(hex(test).split('x')[1]) # translate decimal in hex and remove 0x
test = 0
Code: Alles auswählen
sfv_file_list = liste mit Dateinahmen aus einer *.sfv Datei
test = dump zum berechnen der crc wertes
crc_test = liste mit ergebnissen
Vor dem Programmstart habe ich mit cfv die Dateien überprüft und sie waren OK.
Nun zum Problem:
Berechnung der ersten Datei klappt berechneter crc ist gleich dem in der sfv Datei.
bei der zweiten funktioniert das schon nicht mehr. berechnetter crc nicht gleich sfv Datei.
Und jetzt wird es erst richtig spanisch. Wenn ich jetzt das Programm wieder starte passt auch der crc Wert der ersten Datei nicht mehr.
Der externe Check mittels cfv ergibt nun das beide Dateien corrupt sind. Wie geht das? Öffne sie doch "rb".