Bonjour, je bute sur un probleme, je cherche à déterminer la nature d’un fichier en python (tar, tar.gz ou zip) j’ai trouvé une solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | magic_dict = { "\x1f\x8b\x08": "gz", "\x00\x00\x00": "tar", "\x50\x4b\x03\x04": "zip" } max_len = max(len(x) for x in magic_dict) def file_type(filename): with open(filename) as f: file_start = f.read(max_len) for magic, filetype in magic_dict.items(): if file_start.startswith(magic): return filetype return "no match" |
seulement, cette solution ne marche pas pour les fichiers tar, en effet un tar commence pas par les memes bytes, du coup comment faire pour les tar, ou bien avez vous une autre solution ?
+0
-0