J'ai un programme Python qui va prendre des fichiers texte en entrée. Cependant, certains de ces fichiers peuvent être compressés par gzip.Comment savoir si un fichier est compressé avec gzip?
Existe-t-il une plateforme multiplateforme, utilisable à partir de Python pour déterminer si un fichier est compressé par gzip ou non?
Est-ce que ce qui suit est fiable ou est-ce qu'un fichier texte ordinaire peut sembler "accidentellement" assez ressemblant à un gzip pour que je puisse obtenir des faux positifs?
try:
gzip.GzipFile(filename, 'r')
# compressed
# ...
except:
# not compressed
# ...
Juste un petit indice ... ne comptez jamais sur la fin du fichier. Voir la réponse du houblon pour savoir comment le faire. – helpermethod
@Helper: je ne suis pas sûr (voir mon édition). vous auriez encore à faire face à un possible IOError, mais les fichiers gzippés sans le suffixe sont cassés, à mon avis ... appel difficile :) – hop