.PKL

PKL Datei

Python Pickle Serialized Object
Frage stellen
SCHNELLE ANTWORT

Eine PKL-Datei ist fast immer eine Python Pickle-Datei - ein binärer Schnappschuss eines Python-Objekts, wie z. B. eines trainierten ML-Modells, eines Datensatzes oder eines Dictionarys. Öffnen Sie sie mit dem pickle-Modul von Python. Öffnen Sie niemals eine PKL-Datei aus einer nicht vertrauenswürdigen Quelle: Pickle kann beim Laden beliebigen Code ausführen.

Entwickler: Python Software Foundation (Guido van Rossum, original pickle module) Kategorie: Datendatei MIME: application/octet-stream
VERFÜGBAR AUF Windows macOS Linux
Verwandt: .PKPASS · .DAT · .JSON · .RIS

Auf dieser Seite

19k+ Erweiterungen indexiert
Zuletzt geprüft Aug 2, 2026

Nicht sicher, was Ihre Datei ist?

Legen Sie eine beliebige Datei in unseren Identifikator - wir lesen nur die ersten Bytes, um das Format zu benennen.

Datei identifizieren

Was ist das PKL-Dateiformat?

Eine .pkl-Datei enthält ein Python-Objekt, das mit dem pickle-Modul aus der Python-Standardbibliothek serialisiert wurde. Das „Pickling“ konvertiert nahezu jede Python-Datenstruktur - Dictionaries, Listen, Klasseninstanzen, NumPy-Arrays, trainierte Machine-Learning-Modelle - in einen Byte-Stream, der auf der Festplatte gespeichert und später mit pickle.load() wiederhergestellt werden kann.

Das Format verwendet eine stapelbasierte Pickle Virtual Machine (PVM): ein Stream von Ein-Byte-Opcodes, die bei der Ausführung das ursprüngliche Objekt rekonstruieren. Die Protokollversionen reichen von Protokoll 0 (textbasierte Opcodes, Python 1.2) bis Protokoll 5 (Python 3.8+, PEP 574, unterstützt Out-of-Band-Puffer für große NumPy-Arrays). Protokoll 4 (Magic Bytes 80 04 95) ist der Standard in Python 3.8-3.11. Es gibt kein festes Schema; die Struktur des Byte-Streams wird vollständig durch das zu serialisierende Objekt bestimmt.

Die dominierende moderne Verwendung ist das Speichern trainierter ML-Modelle von scikit-learn, PyTorch (torch.save nutzt pickle intern) und XGBoost sowie das Caching aufwendig berechneter Ergebnisse. Die Bibliothek joblib (die ebenfalls pickle verwendet) wird aufgrund der Memory-Mapping-Unterstützung für große NumPy-Arrays bevorzugt.

Sicherheitswarnung: Das Laden einer .pkl-Datei aus einer nicht vertrauenswürdigen Quelle kann beliebigen Python-Code ausführen. Sicherere Alternativen sind .json für einfache Daten, HDF5 oder Parquet für tabellarische Daten sowie ONNX oder safetensors für ML-Modelle. Die Erweiterungen .pkl und .pickle sind vollständig austauschbar.

Sicherheit

RISIKO: HIGH

Python Pickle kann beim Laden beliebigen Code ausführen (über __reduce__ / REDUCE-Opcode). Eine bösartige .pkl-Datei ist ein Angriffsvektor für Code-Ausführung - behandeln Sie diese wie eine ausführbare Datei. Laden Sie .pkl-Dateien nur von Quellen, denen Sie vollständig vertrauen. Für den Austausch von ML-Modellen bevorzugen Sie safetensors (HuggingFace) oder das ONNX-Format, die beim Laden keinen Code ausführen können. Die pickle-Dokumentation warnt ausdrücklich: „Das pickle-Modul ist nicht sicher.“

Formatdetails

kurz gefasst
VOLLSTÄNDIGER NAMEPython Pickle Serialized Objectalias Pickle file, .pkl file
ENTWICKLERPython Software Foundation (Guido van Rossum, original pickle module)seit 1995 (Python 1.2, original pickle module)
KATEGORIEDatendatei
MIME TYPEapplication/octet-stream
TYPbinärer serialisierter Python-Objekt-Stream
Diese Erweiterung wird auch verwendet von…
  • Microsoft Exchange Migration Wizard Packing List - Das veraltete Microsoft Exchange Migrationstool verwendete .pkl für Packlisten; steht in keinem Zusammenhang mit Python pickle.
MAGIC BYTES · DATEISIGNATUR
OFFSET
000102
HEX
800495
ASCII
···
Protokoll 4: 0x80 0x04 0x95 (am häufigsten, Python 3.4+). Protokoll 3: 0x80 0x03 (Python 3.0-3.3). Protokoll 2: 0x80 0x02 (Python 2.3+). Protokoll 0/1: kein Magic Header (Text/Binär-Opcodes, '\x80' fehlt). Protokoll 5: 0x80 0x05 (Python 3.8+).

Programme zum Öffnen von PKL-Dateien

Windows3 apps
Python (pickle module) Open Source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - anschließend obj inspizieren.
Visual Studio Code (with Python extension) Kostenlos Öffnen Sie ein Jupyter-Notebook oder ein Python-Terminal in VS Code; verwenden Sie pickle.load(), um den Inhalt zu prüfen.
Spyder IDE Open Source Verwenden Sie den Variable Explorer in Spyder oder führen Sie pickle.load() in der IPython-Konsole aus.
macOS1 app
Python (pickle module) Open Source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - anschließend obj inspizieren.
Linux1 app
Python (pickle module) Open Source import pickle; obj = pickle.load(open('file.pkl', 'rb')) - anschließend obj inspizieren.

Technische Details

technische Spezifikation
KodierungBinärer Opcode-Stream für die Pickle Virtual Machine (PVM)
Protokoll 4 Magic Bytes80 04 95 bei Offset 0 (Python 3.4+; Standard in Python 3.8-3.11)
Protokoll 5 Magic Bytes80 05 bei Offset 0 (Python 3.8+, PEP 574, Out-of-Band-Puffer-Unterstützung für NumPy)
Protokoll 2 Magic Bytes80 02 bei Offset 0 (Python 2.3+, Unterstützung für New-Style-Klassen, PEP 307)
Protokoll-BereichProtokoll 0 (Text-Opcodes, 1995) bis Protokoll 5 (Python 3.8+, 2019)
DatenstrukturFlacher Opcode-Stream mit Operanden-Stack und Memo-Tabelle; STOP-Opcode (0x2E) markiert das Stream-Ende
SchemaKein festes Schema; die Struktur wird vollständig durch das serialisierte Python-Objekt bestimmt
MIME-Typapplication/octet-stream (kein registrierter MIME-Typ)
Typische Dateigröße1 KB - mehrere GB (von kleinen Dicts bis hin zu großen ML-Modell-Gewichtstensoren)
SicherheitsrisikoAusführung von beliebigem Python-Code bei pickle.load() aus nicht vertrauenswürdigen Quellen möglich
Plattformübergreifende PortabilitätNur Python; keine andere Sprache kann dieses Format nativ lesen oder schreiben
Primäre moderne VerwendungSpeichern von scikit-learn-Modellen, PyTorch-Gewichten (torch.save), XGBoost-Modellen, zwischengespeicherten Berechnungen
Austauschbare Erweiterung.pickle ist formatidentisch und vollständig austauschbar mit .pkl
Zugehörige Bibliothekjoblib erweitert pickle um Memory-Mapping-Optimierungen, die für große NumPy-Arrays geeignet sind
Veröffentlicht1995 (Python 1.2, original pickle module)
Neueste VersionProtocol 5 (Python 3.8+, PEP 574, 2019)
Spezifikationdocs.python.org

Community Q&A

von Nutzern gefragt
Schnelle Frage stellen
Holen Sie sich Hilfe von Menschen, die mit PKL-Dateien arbeiten. Seien Sie konkret - geben Sie Ihr System und die Softwareversion an.
Kein Konto erforderlich · Antworten meist innerhalb eines Tages
A
ArnoSep 2026UNBEANTWORTET
Comment créer un fichier pkl ?
Warte auf eine Antwort

Häufig gestellte Fragen

Wie öffne ich eine .pkl-Datei?
Verwenden Sie Python: import pickle; obj = pickle.load(open('file.pkl', 'rb')). Laden Sie nur pkl-Dateien, denen Sie vertrauen - sie können beim Laden Code ausführen.
Ist eine .pkl-Datei sicher zu öffnen?
Nur wenn Sie der Quelle vertrauen. Pickle kann während des Ladevorgangs beliebigen Python-Code ausführen. Öffnen Sie niemals .pkl-Dateien aus unbekannten Quellen.
Welches Programm hat meine .pkl-Datei erstellt?
Fast sicher Python - entweder direkt über pickle/joblib oder ein Framework wie scikit-learn (model.fit, dann joblib.dump) oder PyTorch (torch.save).
Kann ich eine .pkl-Datei ohne Python öffnen?
Nicht sinnvoll. Pickle ist Python-spezifisch. Sie benötigen Python und im Idealfall dieselbe Bibliothek, die die Datei erstellt hat (scikit-learn, PyTorch usw.).
Wie konvertiere ich .pkl in JSON oder CSV?
Zuerst mit Python pickle laden, dann serialisieren: json.dump(obj, open('out.json','w')) für JSON-serialisierbare Daten oder pd.DataFrame(obj).to_csv() für tabellarische Daten.
Was ist der Unterschied zwischen .pkl und .pickle?
Sie sind identisch - beide verwenden das Pickle-Format von Python. Die Wahl der Erweiterung ist eine Konvention; .pkl ist in ML-Kontexten gebräuchlicher.

Quellen

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

Weiter entdecken

in der Datenbank

Top-Erweiterungen dieser Woche

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

Verwandte Erweiterungen

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

Kostenlose Datei-Tools

Ein Browser-Dateiidentifikator und Bildkonverter - alles läuft auf Ihrem Gerät.

Toolbox öffnen

Dateierweiterungen A-Z durchsuchen