Ich habe ein Python-Programm, das Textdateien als Eingabe verwenden soll. Einige dieser Dateien können jedoch gzip-komprimiert sein.
Gibt es eine plattformübergreifende, verwendbare von Python Weg zu bestimmen, ob eine Datei gzip komprimiert ist oder nicht?
Ist das Folgende zuverlässig, oder könnte eine gewöhnliche Textdatei "zufällig" so gzip-ähnlich aussehen, dass ich falsch positive Ergebnisse erhalte?
try:
gzip.GzipFile(filename, 'r')
# compressed
# ...
except:
# not compressed
# ...
2 Stimmen
Nur ein kleiner Hinweis: Verlassen Sie sich niemals auf die Dateiendung. Wie man das macht, steht in Hops Antwort.
0 Stimmen
@Helper: Ich bin mir nicht sicher (siehe mein Edit). Sie müssten immer noch mit einem möglichen IOError umgehen, aber gzipped Dateien ohne das Suffix sind meiner Meinung nach kaputt schwere Entscheidung :)