.PICKLE

Fichier PICKLE

Python Pickle Serialization File
Poser une question
RÉPONSE RAPIDE

Un fichier PICKLE stocke un objet Python sérialisé - un modèle ML entraîné, un jeu de données ou une structure de données - créé par le module intégré pickle de Python. Ouvrez-le avec Python : import pickle; data = pickle.load(open('file.pickle', 'rb')). Ne chargez jamais un fichier pickle provenant d'une source non fiable ; il peut exécuter du code arbitraire sur votre machine.

Développeur : Python Software Foundation Catégorie : Fichiers de développement Standard ouvert MIME: application/octet-stream
S'OUVRE SUR Windows macOS Linux
Lié : .DO · .MD · .HEX · .XSD

Sur cette page

19k+ extensions indexées
Dernière révision le Jul 14, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier PICKLE ?

Les fichiers avec l'extension .pickle stockent des objets Python sérialisés à l'aide du module pickle, la bibliothèque de sérialisation d'objets intégrée à Python. Les extensions .pickle et .pkl sont interchangeables pour le même format ; .pickle est la forme explicite longue tandis que .pkl est la variante compacte à trois caractères utilisée depuis Python 1.x.

Contenu des fichiers Python Pickle

Les objets sérialisés dans les fichiers .pickle peuvent être de n'importe quel type Python. Les fichiers .pickle sont utilisés pour sérialiser des objets de base de données, mettre en cache les poids de modèles d'apprentissage automatique (machine-learning) ou stocker l'état d'un programme entre deux exécutions. Seuls les fichiers .pickle provenant de sources fiables doivent être utilisés, car ces fichiers peuvent contenir des logiciels malveillants - la désérialisation d'un pickle non fiable peut exécuter du code Python arbitraire. Les objets Pickle peuvent être compressés de l'extérieur à l'aide de gzip, bz2 ou lzma.

Comment les fichiers Python PICKLE sont-ils créés ?

Le processus de sérialisation est appelé « pickling » et s'effectue à l'aide des méthodes dump() et dumps(). La méthode dump() est utilisée pour sérialiser un objet dans un fichier, tandis que dumps() enregistre l'objet sous forme d'objet bytes. La désérialisation - la conversion du flux d'octets en l'objet d'origine - s'effectue à l'aide de load() et loads() ; ce processus est appelé « unpickling ».

La version du protocole pickle contrôle le format binaire. Le protocole 0 est en ASCII lisible par l'homme ; les protocoles 1 à 5 sont progressivement binaires, le protocole 5 (Python 3.8+) ajoutant des tampons hors bande pour une gestion efficace des grands tableaux .NPY. Dans les flux de travail d'apprentissage automatique, .pickle est largement utilisé pour conserver les modèles scikit-learn et les points de contrôle PyTorch, bien que SafeTensors gagne du terrain en tant qu'alternative plus sûre spécifiquement pour les poids de modèles.

Sécurité et sûreté

RISQUE : HIGH

AVERTISSEMENT CRITIQUE : Les fichiers Pickle peuvent exécuter du code Python arbitraire lors de leur chargement. Un fichier .pickle malveillant peut supprimer des fichiers, télécharger des logiciels malveillants ou prendre le contrôle d'un système. Ne chargez jamais un fichier pickle provenant d'une source non fiable. Dans les flux de travail ML/IA, les pickles malveillants dans les dépôts de modèles (Hugging Face Hub, GitHub) sont un vecteur de menace actif. Utilisez picklescan pour analyser les fichiers avant de les charger, ou passez au format SafeTensors pour les poids de modèles. CVE-2025-1889 : picklescan < 0.0.22 pouvait être contourné en utilisant des extensions de fichiers non standard dans des paquets de modèles basés sur des archives.

Détails du format

en bref
NOM COMPLETPython Pickle Serialization Filealias Python Pickle file, pickled object file
DÉVELOPPEURPython Software Foundationdepuis 1994 (Python 1.1; pickle module first released)
TYPE MIMEapplication/octet-stream
TYPEformat de sérialisation binaire
STANDARDOuvert · libre de droits
OCTETS MAGIQUES · SIGNATURE DE FICHIER
OFFSET
0001
HEX
8005
ASCII
··
L'octet magique varie selon le protocole : \x80\x00 (proto 0, lisible par l'homme), \x80\x02 (proto 2, Python 2.3+), \x80\x03 (proto 3, Python 3.0+), \x80\x04 (proto 4, Python 3.4+), \x80\x05 (proto 5, Python 3.8+). Le protocole 0 n'a pas de signature binaire - il s'agit d'opcodes ASCII lisibles par l'homme. Tous les protocoles binaires commencent par l'opcode 0x80 suivi de l'octet de version du protocole.

Programmes qui ouvrent les fichiers PICKLE

Windows3 apps
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - affiche l'objet désérialisé. À utiliser uniquement avec des fichiers de confiance.
VS Code (with Python extension) Gratuit Ouvrez un terminal Python, importez pickle et chargez le fichier de manière interactive dans un notebook Jupyter ou un REPL Python.
Jupyter Notebook / JupyterLab Open-source Dans une cellule de notebook : import pickle; data = pickle.load(open('file.pickle','rb')); print(data)
macOS1 app
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - affiche l'objet désérialisé. À utiliser uniquement avec des fichiers de confiance.
Linux1 app
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - affiche l'objet désérialisé. À utiliser uniquement avec des fichiers de confiance.

Détails techniques

spécifications approfondies
Encodage du fichierBinaire (protocoles 1-5) ; opcodes ASCII lisibles par l'homme (protocole 0)
Signature de fichier (magic bytes)0x80 suivi de l'octet de version du protocole ; par ex. 0x80 0x05 pour le protocole 5 (Python 3.8+) ; le protocole 0 n'a pas de signature binaire
Protocoles Pickle0 (ASCII, Python 1.x) ; 1 (binaire, Python 1.x) ; 2 (classes de nouveau style, Python 2.3+) ; 3 (octets, Python 3.0+) ; 4 (objets >4 Go, Python 3.4+) ; 5 (tampons hors bande, Python 3.8+)
Protocole par défautLe protocole 5 est le protocole par défaut dans Python 3.8 et versions ultérieures
CompressionAucune intégrée ; couramment encapsulé de l'extérieur dans gzip, bz2 ou lzma ; joblib ajoute sa propre couche de compression
ChiffrementAucun - pas de chiffrement intégré ; chiffrez au niveau du système de fichiers ou de l'encapsuleur si nécessaire
Taille de fichier typiqueMoins de 1 Mo pour les configurations de modèles ; 1 Mo à plusieurs Go pour les poids de modèles ML et les grands jeux de données
Risque de sécuritéLa désérialisation de données pickle non fiables peut exécuter du code Python arbitraire via les hooks __reduce__ - ne désérialisez jamais de fichiers provenant de sources non fiables
Structure interneFlux d'opcodes pickle encodant des objets Python de manière récursive ; le protocole 4+ utilise des trames pour le streaming par morceaux ; le protocole 5 ajoute des tampons hors bande pour une copie zéro des grands tableaux
Type MIMEapplication/octet-stream (formel) ; application/x-pickle (informel)
MultiplateformeIndépendant de la plateforme ; fonctionne sur n'importe quel système d'exploitation supporté par Python (Windows, Linux, macOS)
API de sérialisationdump() et dumps() pour le pickling ; load() et loads() pour l'unpickling
Utilisation ML/IAFormat de sérialisation principal pour les modèles scikit-learn et les points de contrôle PyTorch ; SafeTensors gagne du terrain comme alternative plus sûre pour les poids de modèles
Publié1994 (Python 1.1; pickle module first released)
Dernière versionProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Standard ouvertOui · libre de droits
Spécificationdocs.python.org

Conversions PICKLE

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers PICKLE. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers PICKLE.

Foire aux questions

Comment ouvrir un fichier .pickle ?
Utilisez Python : import pickle; data = pickle.load(open('file.pickle', 'rb')). Ne chargez que des fichiers provenant de sources fiables - pickle peut exécuter du code arbitraire.
Quelle est la différence entre .pickle et .pkl ?
Il s'agit du même format avec des extensions différentes. .pkl est plus courant en pratique ; .pickle est le mot complet. Le module pickle de Python accepte les deux.
Les fichiers pickle sont-ils sûrs à ouvrir ?
Uniquement si vous faites confiance à la source. Pickle est intrinsèquement dangereux avec des données non fiables - le chargement d'un fichier pickle malveillant peut exécuter du code arbitraire sur votre machine. Pour les modèles ML de sources inconnues, scannez d'abord avec picklescan.
Puis-je convertir un fichier pickle en JSON ?
Uniquement si l'objet sérialisé contient des types compatibles avec JSON. Utilisez Python : json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Les objets complexes (tableaux NumPy, instances de classe) nécessitent des sérialiseurs personnalisés.
Quel protocole Python dois-je utiliser lors de l'enregistrement d'un pickle ?
Utilisez protocol=5 (Python 3.8+) pour de meilleures performances avec des données volumineuses, en particulier les tableaux NumPy. Utilisez protocol=2 si vous avez besoin d'une compatibilité avec Python 2. Spécifiez avec pickle.dump(obj, f, protocol=5).
Pourquoi mon fichier pickle est-il volumineux ?
Pickle stocke le graphe d'objets complet, y compris les métadonnées de classe. Pour les tableaux NumPy ou les poids de modèles ML, utilisez des formats compressés : pickle.dump(obj, gzip.open('file.pkl.gz','wb')) ou passez à SafeTensors/HDF5.
Puis-je ouvrir un fichier pickle dans Excel ou un tableur ?
Pas directement. Si le pickle contient un DataFrame pandas, exportez-le d'abord en CSV avec Python : df.to_csv('out.csv').

Références

1Python docs - pickle moduledocs.python.org
2PEP 3154 - Pickle Protocol 4peps.python.org

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.BINCD/DVD Disc Image (BIN/CUE)
4.DATProgram Data File (generic)
5.PARTPartial Download File
6.EXEWindows Executable (Portable Executable)
7.NOMEDIAAndroid No-Media Marker File
8.RPMSGRestricted Permission Message
9.TXTPlain Text File
10.MDMarkdown Document

Extensions liées

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z