.PICKLE

PICKLE-bestand

Python Pickle Serialization File
Stel een vraag
SNEL ANTWOORD

Een PICKLE-bestand slaat een geserialiseerd Python-object op - een getraind ML-model, dataset of datastructuur - gemaakt door de ingebouwde pickle-module van Python. Open het met Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Laad nooit een pickle-bestand van een onbetrouwbare bron; het kan willekeurige code uitvoeren op uw machine.

Ontwikkelaar: Python Software Foundation Categorie: Ontwikkelaarsbestanden Open standaard MIME: application/octet-stream
OPENT OP Windows macOS Linux
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Jul 14, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het PICKLE-bestandsformaat?

Bestanden met de extensie .pickle slaan Python-objecten op die zijn geserialiseerd met de pickle-module, de ingebouwde bibliotheek voor objectserialisatie van Python. Zowel .pickle als .pkl zijn uitwisselbare extensies voor hetzelfde formaat; .pickle is de langere expliciete vorm, terwijl .pkl de compacte variant van drie tekens is die sinds Python 1.x in gebruik is.

Inhoud van Python Pickle-bestanden

Geserialiseerde objecten in .pickle-bestanden kunnen van elk Python-type zijn. .pickle-bestanden worden gebruikt om database-objecten te serialiseren, gewichten van machine-learningmodellen te cachen of de programmastatus tussen sessies op te slaan. Alleen .pickle-bestanden van vertrouwde bronnen mogen worden gebruikt, aangezien dergelijke bestanden kwaadaardige software kunnen bevatten - het deserialiseren van een onbetrouwbare pickle kan willekeurige Python-code uitvoeren. Pickle-objecten kunnen extern worden gecomprimeerd met gzip, bz2 of lzma.

Hoe worden Python PICKLE-bestanden gemaakt?

Het serialisatieproces wordt „pickling” genoemd en wordt uitgevoerd met de methoden dump() en dumps(). De methode dump() wordt gebruikt om een object naar een bestand te serialiseren, terwijl dumps() het object opslaat als een bytes-object. Deserialisatie - het terug converteren van de bytestroom naar het oorspronkelijke object - gebeurt met load() en loads(); dit proces wordt aangeduid als „unpickling”.

De versie van het pickle-protocol bepaalt het binaire formaat. Protocol 0 is voor mensen leesbare ASCII; Protocollen 1-5 zijn progressief binair, waarbij Protocol 5 (Python 3.8+) out-of-band buffers toevoegt voor een efficiënte verwerking van grote .NPY-arrays. In machine-learning workflows wordt .pickle veel gebruikt om scikit-learn-modellen en PyTorch-checkpoints op te slaan, hoewel SafeTensors aan populariteit wint als een veiliger alternatief voor specifiek modelgewichten.

Beveiliging & veiligheid

RISICO: HIGH

KRITIEKE WAARSCHUWING: Pickle-bestanden kunnen willekeurige Python-code uitvoeren wanneer ze worden geladen. Een kwaadaardig .pickle-bestand kan bestanden verwijderen, malware downloaden of een systeem overnemen. Laad nooit een pickle-bestand van een onbetrouwbare bron. In ML/AI-workflows zijn kwaadaardige pickles in model-repositories (Hugging Face Hub, GitHub) een actieve dreiging. Gebruik picklescan om bestanden te scannen voordat u ze laadt, of stap over op het SafeTensors-formaat voor modelgewichten. CVE-2025-1889: picklescan < 0.0.22 kon worden omzeild door niet-standaard bestandsextensies te gebruiken binnen op archieven gebaseerde modelpakketten.

Formaatdetails

in een notendop
VOLLEDIGE NAAMPython Pickle Serialization Fileook bekend als Python Pickle file, pickled object file
ONTWIKKELAARPython Software Foundationsinds 1994 (Python 1.1; pickle module first released)
MIME-TYPEapplication/octet-stream
TYPEbinair serialisatieformaat
STANDAARDOpen · royaltyvrij
GERELATEERD.do.md.hex.xsd
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
0001
HEX
8005
ASCII
··
Magic byte varieert per protocol: \x80\x00 (proto 0, leesbaar), \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+). Protocol 0 heeft geen binaire magic - het zijn voor mensen leesbare ASCII-opcodes. Alle binaire protocollen beginnen met opcode 0x80 gevolgd door de protocolversie-byte.

Programma's die PICKLE-bestanden openen

Windows3 apps
Python Open-source python -c „import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))” - print het gedeserialiseerde object. Gebruik alleen bij vertrouwde bestanden.
VS Code (with Python extension) Gratis Open een Python-terminal, importeer pickle en laad het bestand interactief in een Jupyter-notebook of Python REPL.
Jupyter Notebook / JupyterLab Open-source In een notebook-cel: 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')))” - print het gedeserialiseerde object. Gebruik alleen bij vertrouwde bestanden.
Linux1 app
Python Open-source python -c „import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))” - print het gedeserialiseerde object. Gebruik alleen bij vertrouwde bestanden.

Technische details

diepe specificaties
BestandscoderingBinair (protocollen 1-5); voor mensen leesbare ASCII-opcodes (protocol 0)
Magic bytes0x80 gevolgd door protocolversie-byte; bijv. 0x80 0x05 voor protocol 5 (Python 3.8+); protocol 0 heeft geen binaire magic
Pickle-protocollen0 (ASCII, Python 1.x); 1 (binair, Python 1.x); 2 (new-style klassen, Python 2.3+); 3 (bytes, Python 3.0+); 4 (objecten >4 GB, Python 3.4+); 5 (out-of-band buffers, Python 3.8+)
StandaardprotocolProtocol 5 is de standaard in Python 3.8 en later
CompressieGeen ingebouwd; vaak extern verpakt in gzip, bz2 of lzma; joblib voegt een eigen compressielaag toe
VersleutelingGeen - geen ingebouwde versleuteling; versleutel indien nodig op bestandssysteem- of wrapperniveau
Typische bestandsgrootteOnder 1 MB voor modelconfiguraties; 1 MB - verscheidene GB voor ML-modelgewichten en grote datasets
BeveiligingsrisicoHet deserialiseren van onbetrouwbare pickle-gegevens kan willekeurige Python-code uitvoeren via __reduce__ hooks - unpickle nooit bestanden van onbetrouwbare bronnen
Interne structuurStroom van pickle-opcodes die Python-objecten recursief coderen; Protocol 4+ gebruikt frames voor gestreamde brokken; Protocol 5 voegt out-of-band buffers toe voor zero-copy van grote arrays
MIME-typeapplication/octet-stream (formeel); application/x-pickle (informeel)
PlatformonafhankelijkPlatformonafhankelijk; draait op elk door Python ondersteund besturingssysteem (Windows, Linux, macOS)
Serialisatie-APIdump() en dumps() voor pickling; load() en loads() voor unpickling
ML/AI-gebruikPrimair serialisatieformaat voor scikit-learn-modellen en PyTorch-checkpoints; SafeTensors wint aan populariteit als veiliger alternatief voor modelgewichten
Uitgebracht1994 (Python 1.1; pickle module first released)
Laatste versieProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Open standaardJa · royaltyvrij
Specificatiedocs.python.org

PICKLE conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met PICKLE-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over PICKLE-bestanden.

Veelgestelde vragen

Hoe open ik een .pickle-bestand?
Gebruik Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Laad alleen bestanden van vertrouwde bronnen - pickle kan willekeurige code uitvoeren.
Wat is het verschil tussen .pickle en .pkl?
Het is hetzelfde formaat met verschillende extensies. .pkl komt in de praktijk vaker voor; .pickle is het volledige woord. De pickle-module van Python accepteert beide.
Zijn pickle-bestanden veilig om te openen?
Alleen als u de bron vertrouwt. Pickle is inherent onveilig met onbetrouwbare gegevens - het laden van een kwaadaardig pickle-bestand kan willekeurige code uitvoeren op uw machine. Scan voor ML-modellen van onbekende bronnen eerst met picklescan.
Kan ik een pickle-bestand naar JSON converteren?
Alleen als het gepickelde object JSON-compatibele types bevat. Gebruik Python: json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Complexe objecten (NumPy-arrays, klasse-instanties) vereisen aangepaste serializers.
Welk Python-protocol moet ik gebruiken bij het opslaan van een pickle?
Gebruik protocol=5 (Python 3.8+) voor de beste prestaties met grote gegevens, vooral NumPy-arrays. Gebruik protocol=2 als u compatibiliteit met Python 2 nodig heeft. Specificeer dit met pickle.dump(obj, f, protocol=5).
Waarom is mijn pickle-bestand zo groot?
Pickle slaat de volledige objectgrafiek op, inclusief klasse-metadata. Gebruik voor NumPy-arrays of ML-modelgewichten gecomprimeerde formaten: pickle.dump(obj, gzip.open('file.pkl.gz','wb')) of stap over naar SafeTensors/HDF5.
Kan ik een pickle-bestand openen in Excel of een spreadsheet?
Niet rechtstreeks. Als de pickle een pandas DataFrame bevat, exporteer deze dan eerst naar CSV met Python: df.to_csv('out.csv').

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.MDMarkdown Document
4.RPMSGRestricted Permission Message
5.CRDOWNLOADChrome Partial Download File
6.PARTPartial Download File
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.DBSQLite Database File
10.PKPASSApple Wallet Pass (formerly Passbook)

Gerelateerde extensies

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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z