.PKL

PKL-bestand

Python Pickle Serialized Object
Stel een vraag
SNEL ANTWOORD

Een PKL-bestand is bijna altijd een Python Pickle-bestand - een binaire momentopname van een Python-object zoals een getraind ML-model, dataset of dictionary. Open het met de pickle-module van Python. Open nooit een PKL-bestand van een onbetrouwbare bron: Pickle kan bij het laden willekeurige code uitvoeren.

Ontwikkelaar: Python Software Foundation (Guido van Rossum, original pickle module) Categorie: Gegevensbestanden MIME: application/octet-stream
OPENT OP Windows macOS Linux
Gerelateerd: .PKPASS · .DAT · .JSON · .RIS

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Aug 2, 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 PKL-bestandsformaat?

Een .pkl-bestand bevat een Python-object dat is geserialiseerd met de pickle-module uit de Python-standaardbibliotheek. „Pickling” zet bijna elke Python-datastructuur - dictionaries, lijsten, klasse-instanties, NumPy-arrays, getrainde machine learning-modellen - om in een bytestroom die op schijf kan worden opgeslagen en later kan worden hersteld met pickle.load().

Het formaat maakt gebruik van een op een stack gebaseerde Pickle Virtual Machine (PVM): een stroom van single-byte opcodes die, wanneer ze worden uitgevoerd, het oorspronkelijke object reconstrueren. Protocolversies variëren van Protocol 0 (tekstgebaseerde opcodes, Python 1.2) tot Protocol 5 (Python 3.8+, PEP 574, met ondersteuning voor out-of-band buffers voor grote NumPy-arrays). Protocol 4 (magic bytes 80 04 95) is de standaard in Python 3.8-3.11. Er is geen vast schema; de structuur van de bytestroom wordt volledig bepaald door het object dat wordt geserialiseerd.

Het dominante moderne gebruik is het opslaan van getrainde ML-modellen van scikit-learn, PyTorch (torch.save gebruikt intern pickle) en XGBoost, en het cachen van complexe berekende resultaten. De joblib-bibliotheek (die ook pickle gebruikt) heeft de voorkeur voor grote NumPy-arrays vanwege de ondersteuning voor memory-mapping.

Veiligheidswaarschuwing: het laden van een .pkl-bestand van een onbetrouwbare bron kan willekeurige Python-code uitvoeren. Veiliger alternatieven zijn .json voor eenvoudige gegevens, HDF5 of Parquet voor tabelgegevens, en ONNX of safetensors voor ML-modellen. De extensies .pkl en .pickle zijn volledig uitwisselbaar.

Beveiliging & veiligheid

RISICO: HIGH

Python Pickle kan willekeurige code uitvoeren tijdens het laden (via __reduce__ / REDUCE opcode). Een kwaadaardig .pkl-bestand is een vector voor code-executie-aanvallen - behandel het als een uitvoerbaar bestand. Laad alleen .pkl-bestanden van bronnen die u volledig vertrouwt. Voor het delen van ML-modellen verdient safetensors (HuggingFace) of het ONNX-formaat de voorkeur, omdat deze geen code kunnen uitvoeren bij het laden. De pickle-documentatie waarschuwt expliciet: „De pickle-module is niet veilig.”

Formaatdetails

in een notendop
VOLLEDIGE NAAMPython Pickle Serialized Objectook bekend als Pickle file, .pkl file
ONTWIKKELAARPython Software Foundation (Guido van Rossum, original pickle module)sinds 1995 (Python 1.2, original pickle module)
MIME-TYPEapplication/octet-stream
TYPEbinair geserialiseerde Python-objectstroom
Deze extensie wordt ook gebruikt door…
  • Microsoft Exchange Migration Wizard Packing List - Verouderde Microsoft Exchange-migratietool gebruikte .pkl voor paklijsten; volledig ongerelateerd aan Python pickle.
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
000102
HEX
800495
ASCII
···
Protocol 4: 0x80 0x04 0x95 (meest voorkomend, Python 3.4+). Protocol 3: 0x80 0x03 (Python 3.0-3.3). Protocol 2: 0x80 0x02 (Python 2.3+). Protocol 0/1: geen magic header (tekst/binaire opcodes, '\x80' afwezig). Protocol 5: 0x80 0x05 (Python 3.8+).

Programma's die PKL-bestanden openen

Windows3 apps
Python (pickle module) Open-source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspecteer vervolgens obj.
Visual Studio Code (with Python extension) Gratis Open een Jupyter-notebook of Python-terminal in VS Code; gebruik pickle.load() om de inhoud te inspecteren.
Spyder IDE Open-source Gebruik de Variable Explorer in Spyder of voer pickle.load() uit in de IPython-console.
macOS1 app
Python (pickle module) Open-source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspecteer vervolgens obj.
Linux1 app
Python (pickle module) Open-source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspecteer vervolgens obj.

Technische details

diepe specificaties
CoderingBinaire opcode-stroom voor de Pickle Virtual Machine (PVM)
Protocol 4 magic bytes80 04 95 op offset 0 (Python 3.4+; standaard in Python 3.8-3.11)
Protocol 5 magic bytes80 05 op offset 0 (Python 3.8+, PEP 574, out-of-band bufferondersteuning voor NumPy)
Protocol 2 magic bytes80 02 op offset 0 (Python 2.3+, ondersteuning voor new-style classes, PEP 307)
ProtocolbereikProtocol 0 (tekst-opcodes, 1995) tot Protocol 5 (Python 3.8+, 2019)
DatastructuurPlatte opcode-stroom met operand-stack en memo-tabel; STOP-opcode (0x2E) markeert het einde van de stroom
SchemaGeen vast schema; de structuur wordt volledig bepaald door het Python-object dat wordt geserialiseerd
MIME-typeapplication/octet-stream (geen geregistreerd MIME-type)
Typische bestandsgrootte1 KB - diverse GB (van kleine dicts tot grote ML-model weight tensors)
BeveiligingsrisicoWillekeurige Python-code-executie mogelijk bij pickle.load() vanuit onbetrouwbare bronnen
Portabiliteit tussen talenAlleen Python; geen enkele andere taal kan dit formaat standaard lezen of schrijven
Primair modern gebruikOpslaan van scikit-learn modellen, PyTorch weights (torch.save), XGBoost-modellen, gecachte berekeningen
Uitwisselbare extensie.pickle is qua formaat identiek en volledig uitwisselbaar met .pkl
Gerelateerde bibliotheekjoblib omhult pickle met memory-mapping optimalisaties geschikt voor grote NumPy-arrays
Uitgebracht1995 (Python 1.2, original pickle module)
Laatste versieProtocol 5 (Python 3.8+, PEP 574, 2019)
Specificatiedocs.python.org

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met PKL-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag
A
ArnoSep 2026ONBEANTWOORD
Comment créer un fichier pkl ?
Wachten op antwoord

Veelgestelde vragen

Hoe open ik een .pkl-bestand?
Gebruik Python: import pickle; obj = pickle.load(open('file.pkl', 'rb')). Laad alleen pkl-bestanden die u vertrouwt - ze kunnen code uitvoeren bij het laden.
Is een .pkl-bestand veilig om te openen?
Alleen als u de bron vertrouwt. Pickle kan willekeurige Python-code uitvoeren tijdens het laden. Open nooit .pkl-bestanden van onbekende bronnen.
Welk programma heeft mijn .pkl-bestand gemaakt?
Vrijwel zeker Python - ofwel rechtstreeks via pickle/joblib, of via een framework zoals scikit-learn (model.fit gevolgd door joblib.dump) of PyTorch (torch.save).
Kan ik een .pkl-bestand openen zonder Python?
Niet op een zinvolle manier. Pickle is specifiek voor Python. U hebt Python nodig en bij voorkeur dezelfde bibliotheek die het bestand heeft gemaakt (scikit-learn, PyTorch, enz.).
Hoe converteer ik .pkl naar JSON of CSV?
Laad het eerst met Python pickle en serialiseer het daarna: json.dump(obj, open('out.json','w')) voor gegevens die JSON-compatibel zijn, of pd.DataFrame(obj).to_csv() voor tabelgegevens.
Wat is het verschil tussen .pkl en .pickle?
Ze zijn identiek - beide gebruiken het pickle-formaat van Python. De keuze voor de extensie is een conventie; .pkl komt vaker voor in ML-contexten.

Referenties

1Python Docs - pickle moduledocs.python.org
2PEP 307 - Protocol 2 (Python 2.3)peps.python.org

Blijf ontdekken

door de database

Populaire extensies deze week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.PARTPartial Download File
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.DATProgram Data File (generic)
8.EXEWindows Executable (Portable Executable)
9.BINCD/DVD Disc Image (BIN/CUE)
10.DBSQLite Database File

Gerelateerde extensies

.PKPASSApple Wallet Pass (formerly Passbook)
.DATProgram Data File (generic)
.JSONJavaScript Object Notation file
.RISResearch Information Systems citation file
.OFXOpen Financial Exchange
.CSVComma-Separated Values

Gratis bestandstools

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

Open de gereedschapskist

Blader door bestandsextensies A-Z