.PICKLE

PICKLE-fil

Python Pickle Serialization File
Still et spørsmål
HURTIGSVAR

En PICKLE-fil lagrer et serialisert Python-objekt - en trent ML-modell, et datasett eller en datastruktur - opprettet av Pythons innebygde pickle-modul. Åpne den med Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Last aldri inn en pickle-fil fra en upålitelig kilde; den kan kjøre vilkårlig kode på maskinen din.

Utvikler: Python Software Foundation Kategori: Utviklerfiler Åpen standard MIME: application/octet-stream
ÅPNES PÅ Windows macOS Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Jul 14, 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 PICKLE-filformatet?

Filer med filendelsen .pickle lagrer Python-objekter serialisert ved hjelp av pickle-modulen, Pythons innebygde bibliotek for objektserialisering. Både .pickle og .pkl er utskiftbare utvidelser for samme format; .pickle er den lengre eksplisitte formen, mens .pkl er den kompakte varianten på tre tegn som har vært i bruk siden Python 1.x.

Innholdet i Python Pickle-filer

Serialiserte objekter i .pickle-filer kan være av hvilken som helst Python-type. .pickle-filer brukes til å serialisere databaseobjekter, mellomlagre vekter for maskinlæringsmodeller, eller lagre programtilstand mellom kjøringer. Kun .pickle-filer fra pålitelige kilder bør brukes, da slike filer kan inneholde skadelig programvare - deserialisering av en upålitelig pickle kan kjøre vilkårlig Python-kode. Pickle-objekter kan komprimeres eksternt ved hjelp av gzip, bz2 eller lzma.

Hvordan opprettes Python PICKLE-filer?

Serialiseringsprosessen kalles «pickling» og gjøres ved hjelp av metodene dump() og dumps(). Metoden dump() brukes for å serialisere et objekt til en fil, mens dumps() lagrer objektet som et bytes-objekt. Deserialisering - å konvertere bytestrømmen tilbake til det opprinnelige objektet - gjøres ved hjelp av load() og loads(); denne prosessen kalles «unpickling».

Pickle-protokollversjonen styrer det binære formatet. Protokoll 0 er menneskelig lesbar ASCII; protokollene 1-5 er progressivt binære, der protokoll 5 (Python 3.8+) legger til ut-av-bånd-buffere for effektiv håndtering av store .NPY-matriser. I arbeidsflyter for maskinlæring er .pickle mye brukt for å lagre scikit-learn-modeller og PyTorch-sjekkpunkter, selv om SafeTensors vinner terreng som et sikrere alternativ spesifikt for modellvekter.

Sikkerhet og trygghet

RISIKO: HIGH

KRITISK ADVARSEL: Pickle-filer kan kjøre vilkårlig Python-kode når de lastes inn. En skadelig .pickle-fil kan slette filer, laste ned skadevare eller ta over et system. Last aldri inn en pickle-fil fra en upålitelig kilde. I arbeidsflyter for ML/AI er skadelige pickles i modell-lagre (Hugging Face Hub, GitHub) en aktiv trussel. Bruk picklescan for å skanne filer før innlasting, eller bytt til SafeTensors-formatet for modellvekter. CVE-2025-1889: picklescan < 0.0.22 kunne omgås ved å bruke ikke-standard filendelser i arkivbaserte modellpakker.

Formatdetaljer

i et nøtteskall
FULLT NAVNPython Pickle Serialization Fileogså kjent som Python Pickle file, pickled object file
UTVIKLERPython Software Foundationsiden 1994 (Python 1.1; pickle module first released)
MIME-TYPEapplication/octet-stream
TYPEbinært serialiseringsformat
STANDARDÅpen · royalty-fri
MAGIC BYTES · FILSIGNATUR
OFFSET
0001
HEX
8005
ASCII
··
Magic byte varierer etter protokoll: \x80\x00 (proto 0, menneskelig lesbar), \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+). Protokoll 0 har ingen binær magic - det er menneskelig lesbare ASCII-opkoder. Alle binære protokoller starter med opkode 0x80 etterfulgt av protokollversjon-byten.

Programmer som åpner PICKLE-filer

Windows3 apps
Python Åpen kildekode python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - skriver ut det deserialiserte objektet. Bruk kun med pålitelige filer.
VS Code (with Python extension) Gratis Åpne en Python-terminal, importer pickle, og last inn filen interaktivt i en Jupyter-notatbok eller Python REPL.
Jupyter Notebook / JupyterLab Åpen kildekode I en notatbok-celle: import pickle; data = pickle.load(open('file.pickle','rb')); print(data)
macOS1 app
Python Åpen kildekode python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - skriver ut det deserialiserte objektet. Bruk kun med pålitelige filer.
Linux1 app
Python Åpen kildekode python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - skriver ut det deserialiserte objektet. Bruk kun med pålitelige filer.

Tekniske detaljer

dyp spesifikasjon
FilkodingBinær (protokoll 1-5); menneskelig lesbare ASCII-opkoder (protokoll 0)
Magic bytes0x80 etterfulgt av protokollversjon-byte; f.eks. 0x80 0x05 for protokoll 5 (Python 3.8+); protokoll 0 har ingen binær magic
Pickle-protokoller0 (ASCII, Python 1.x); 1 (binær, Python 1.x); 2 (nye klasser, Python 2.3+); 3 (bytes, Python 3.0+); 4 (objekter >4 GB, Python 3.4+); 5 (ut-av-bånd-buffere, Python 3.8+)
StandardprotokollProtokoll 5 er standard i Python 3.8 og nyere
KomprimeringIngen innebygd; vanligvis pakket eksternt i gzip, bz2 eller lzma; joblib legger til sitt eget komprimeringslag
KrypteringIngen - ingen innebygd kryptering; krypter på filsystem- eller innpakningsnivå ved behov
Typisk filstørrelseUnder 1 MB for modellkonfigurasjoner; 1 MB - flere GB for ML-modellvekter og store datasett
SikkerhetsrisikoDeserialisering av upålitelige pickle-data kan kjøre vilkårlig Python-kode via __reduce__-hooks - unpickle aldri filer fra upålitelige kilder
Intern strukturStrøm av pickle-opkoder som koder Python-objekter rekursivt; protokoll 4+ bruker rammer for stykkevis strømming; protokoll 5 legger til ut-av-bånd-buffere for zero-copy av store matriser
MIME-typeapplication/octet-stream (formelt); application/x-pickle (uformelt)
PlattformuavhengigPlattformuavhengig; kjører på alle operativsystemer som støtter Python (Windows, Linux, macOS)
Serialiserings-APIdump() og dumps() for pickling; load() og loads() for unpickling
ML/AI-brukPrimært serialiseringsformat for scikit-learn-modeller og PyTorch-sjekkpunkter; SafeTensors vinner terreng som et sikrere alternativ for modellvekter
Utgitt1994 (Python 1.1; pickle module first released)
Siste versjonProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Åpen standardJa · royalty-fri
Spesifikasjondocs.python.org

PICKLE-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med PICKLE-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om PICKLE-filer.

Ofte stilte spørsmål

Hvordan åpner jeg en .pickle-fil?
Bruk Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Last kun inn filer fra pålitelige kilder - pickle kan kjøre vilkårlig kode.
Hva er forskjellen mellom .pickle og .pkl?
De er samme format med forskjellige filendelser. .pkl er mer vanlig i praksis; .pickle er det fulle ordet. Pythons pickle-modul godtar begge.
Er pickle-filer trygge å åpne?
Kun hvis du stoler på kilden. Pickle er iboende utrygt med upålitelige data - innlasting av en skadelig pickle-fil kan kjøre vilkårlig kode på maskinen din. For ML-modeller fra ukjente kilder, skann med picklescan først.
Kan jeg konvertere en pickle-fil til JSON?
Kun hvis det serialiserte objektet inneholder JSON-kompatible typer. Bruk Python: json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Komplekse objekter (NumPy-matriser, klasseinstanser) krever egne serialisatorer.
Hvilken Python-protokoll bør jeg bruke når jeg lagrer en pickle?
Bruk protocol=5 (Python 3.8+) for best ytelse med store data, spesielt NumPy-matriser. Bruk protocol=2 hvis du trenger kompatibilitet med Python 2. Spesifiser med pickle.dump(obj, f, protocol=5).
Hvorfor er pickle-filen min så stor?
Pickle lagrer hele objektgrafen inkludert metadata for klasser. For NumPy-matriser eller ML-modellvekter, bruk komprimerte formater: pickle.dump(obj, gzip.open('file.pkl.gz','wb')) eller bytt til SafeTensors/HDF5.
Kan jeg åpne en pickle-fil i Excel eller et regneark?
Ikke direkte. Hvis pickle-filen inneholder en pandas DataFrame, må du eksportere den til CSV først med Python: df.to_csv('out.csv').

Referanser

1Python docs - pickle moduledocs.python.org
2PEP 3154 - Pickle Protocol 4peps.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.EXEWindows Executable (Portable Executable)
5.ICSiCalendar data file
6.M4AMPEG-4 Audio File
7.TAGDataFlex Query Tag Name File
8.JPGJPEG Image
9.DATProgram Data File (generic)
10.MDMarkdown Document

Relaterte filendelser

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

Gratis filverktøy

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

Åpne verktøykassen

Bla i filendelser A-Å