.PKL

PKL-fil

Python Pickle Serialized Object
Still et spørsmål
HURTIGSVAR

En PKL-fil er nesten alltid en Python Pickle-fil - et binært øyeblikksbilde av et Python-objekt som en trent ML-modell, et datasett eller en ordbok. Åpne den med Pythons pickle-modul. Åpne aldri en PKL-fil fra en upålitelig kilde: Pickle kan kjøre vilkårlig kode ved innlasting.

Utvikler: Python Software Foundation (Guido van Rossum, original pickle module) Kategori: Datafiler MIME: application/octet-stream
ÅPNES PÅ Windows macOS Linux
Relatert: .PKPASS · .DAT · .JSON · .RIS

På denne siden

19k+ filendelser indeksert
Sist vurdert Aug 2, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er PKL-filformatet?

En .pkl-fil inneholder et Python-objekt serialisert ved hjelp av pickle-modulen fra Pythons standardbibliotek. «Pickling» konverterer nesten alle Python-datastrukturer - ordbøker, lister, klasseinstanser, NumPy-tabeller, trente maskinlæringsmodeller - til en bitstrøm som kan lagres til disk og senere gjenopprettes med pickle.load().

Formatet bruker en stabelbasert Pickle Virtual Machine (PVM): en strøm av enkelt-byte opkoder som, når de utføres, rekonstruerer det opprinnelige objektet. Protokollversjoner varierer fra Protokoll 0 (tekstbaserte opkoder, Python 1.2) til Protokoll 5 (Python 3.8+, PEP 574, som støtter «out-of-band»-buffere for store NumPy-tabeller). Protokoll 4 (magiske byte 80 04 95) er standard i Python 3.8-3.11. Det finnes ikke noe fast skjema; bitstrømmens struktur bestemmes helt av objektet som serialiseres.

Den dominerende moderne bruken er lagring av trente ML-modeller fra scikit-learn, PyTorch (torch.save pakker inn pickle internt) og XGBoost, samt hurtigbufring av tunge beregningsresultater. Biblioteket joblib (som også bruker pickle) foretrekkes for store NumPy-tabeller på grunn av støtte for minne-mapping.

Sikkerhetsadvarsel: Innlasting av en .pkl-fil fra en upålitelig kilde kan kjøre vilkårlig Python-kode. Sikrere alternativer inkluderer .json for enkle data, HDF5 eller Parquet for tabulære data, og ONNX eller safetensors for ML-modeller. Filendelsene .pkl og .pickle er helt utbyttbare.

Sikkerhet og trygghet

RISIKO: HIGH

Python Pickle kan kjøre vilkårlig kode under innlasting (via __reduce__ / REDUCE-opkode). En ondsinnet .pkl-fil er en angrepsvektor for kodekjøring - behandle den som en kjørbar fil. Last bare inn .pkl-filer fra kilder du stoler fullstendig på. For deling av ML-modeller, foretrekk safetensors (HuggingFace) eller ONNX-formatet som ikke kan kjøre kode ved innlasting. Pickle-dokumentasjonen advarer eksplisitt: «The pickle module is not secure.»

Formatdetaljer

i et nøtteskall
FULLT NAVNPython Pickle Serialized Objectogså kjent som Pickle file, .pkl file
UTVIKLERPython Software Foundation (Guido van Rossum, original pickle module)siden 1995 (Python 1.2, original pickle module)
KATEGORIDatafiler
MIME-TYPEapplication/octet-stream
TYPEbinær serialisert Python-objektstrøm
Denne filendelsen brukes også av…
  • Microsoft Exchange Migration Wizard Packing List - Eldre Microsoft Exchange-migreringsverktøy brukte .pkl for pakkelister; helt urelatert til Python pickle.
MAGIC BYTES · FILSIGNATUR
OFFSET
000102
HEX
800495
ASCII
···
Protokoll 4: 0x80 0x04 0x95 (vanligst, Python 3.4+). Protokoll 3: 0x80 0x03 (Python 3.0-3.3). Protokoll 2: 0x80 0x02 (Python 2.3+). Protokoll 0/1: ingen magisk header (tekst/binære opkoder, '\x80' mangler). Protokoll 5: 0x80 0x05 (Python 3.8+).

Programmer som åpner PKL-filer

Windows3 apps
Python (pickle module) Åpen kildekode import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspiser deretter obj.
Visual Studio Code (with Python extension) Gratis Åpne en Jupyter-notatbok eller Python-terminal i VS Code; bruk pickle.load() for å inspisere innholdet.
Spyder IDE Åpen kildekode Bruk Variable Explorer i Spyder eller kjør pickle.load() i IPython-konsollen.
macOS1 app
Python (pickle module) Åpen kildekode import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspiser deretter obj.
Linux1 app
Python (pickle module) Åpen kildekode import pickle; obj = pickle.load(open('file.pkl', 'rb')) - inspiser deretter obj.

Tekniske detaljer

dyp spesifikasjon
KodingBinær opkode-strøm for Pickle Virtual Machine (PVM)
Protokoll 4 magiske byte80 04 95 ved offset 0 (Python 3.4+; standard i Python 3.8-3.11)
Protokoll 5 magiske byte80 05 ved offset 0 (Python 3.8+, PEP 574, støtte for out-of-band buffer for NumPy)
Protokoll 2 magiske byte80 02 ved offset 0 (Python 2.3+, støtte for «new-style» klasser, PEP 307)
ProtokollområdeProtokoll 0 (tekst-opkoder, 1995) til Protokoll 5 (Python 3.8+, 2019)
DatastrukturFlat opkode-strøm med operand-stabel og memo-tabell; STOP-opkode (0x2E) markerer slutten på strømmen
SkjemaIngen fast skjema; strukturen bestemmes helt av Python-objektet som serialiseres
MIME-typeapplication/octet-stream (ingen registrert MIME-type)
Typisk filstørrelse1 KB - flere GB (små ordbøker til store ML-modellvekt-tensorer)
SikkerhetsrisikoKjøring av vilkårlig Python-kode er mulig ved pickle.load() fra upålitelige kilder
Portabilitet mellom språkKun Python; ingen andre språk kan lese eller skrive dette formatet innebygd
Primær moderne brukLagring av scikit-learn-modeller, PyTorch-vekter (torch.save), XGBoost-modeller, hurtigbufrede beregninger
Utbyttbar filendelse.pickle er identisk i format og helt utbyttbar med .pkl
Relatert bibliotekjoblib pakker inn pickle med minne-mapping-optimaliseringer egnet for store NumPy-tabeller
Utgitt1995 (Python 1.2, original pickle module)
Siste versjonProtocol 5 (Python 3.8+, PEP 574, 2019)
Spesifikasjondocs.python.org

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med PKL-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag
A
Arno22 d agoUBESVART
Comment créer un fichier pkl ?
Venter på svar

Ofte stilte spørsmål

Hvordan åpner jeg en .pkl-fil?
Bruk Python: import pickle; obj = pickle.load(open('file.pkl', 'rb')). Last bare inn pkl-filer du stoler på - de kan kjøre kode ved innlasting.
Er en .pkl-fil trygg å åpne?
Bare hvis du stoler på kilden. Pickle kan kjøre vilkårlig Python-kode under innlasting. Åpne aldri .pkl-filer fra ukjente kilder.
Hvilket program opprettet min .pkl-fil?
Høyst sannsynlig Python - enten direkte via pickle/joblib, eller et rammeverk som scikit-learn (model.fit deretter joblib.dump) eller PyTorch (torch.save).
Kan jeg åpne en .pkl-fil uten Python?
Ikke på en meningsfull måte. Pickle er Python-spesifikt. Du trenger Python og ideelt sett det samme biblioteket som opprettet filen (scikit-learn, PyTorch, osv.).
Hvordan konverterer jeg .pkl til JSON eller CSV?
Last inn med Python pickle først, og serialiser deretter: json.dump(obj, open('out.json','w')) for JSON-serialiserbare data, eller pd.DataFrame(obj).to_csv() for tabulære data.
Hva er forskjellen mellom .pkl og .pickle?
De er identiske - begge bruker Pythons pickle-format. Valget av filendelse er en konvensjon; .pkl er mer vanlig i ML-sammenhenger.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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

Relaterte filendelser

.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 filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å