.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.BINCD/DVD Disc Image (BIN/CUE)
3.RPMSGRestricted Permission Message
4.CRDOWNLOADChrome Partial Download File
5.MDMarkdown Document
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)

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-Å