.PICKLE

PICKLE-fil

Python Pickle Serialization File
Stil et spørgsmål
HURTIGT SVAR

En PICKLE-fil gemmer et serialiseret Python-objekt - en trænet ML-model, et datasæt eller en datastruktur - oprettet af Pythons indbyggede pickle-modul. Åbn den med Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Indlæs aldrig en pickle-fil fra en upålidelig kilde; den kan eksekvere vilkårlig kode på din maskine.

Udvikler: Python Software Foundation Kategori: Udviklerfiler Åben standard MIME: application/octet-stream
ÅBNER PÅ Windows macOS Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Jul 14, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er PICKLE-filformatet?

Filer med filtypenavnet .pickle gemmer Python-objekter serialiseret ved hjælp af pickle-modulet, Pythons indbyggede bibliotek til objektserialisering. Både .pickle og .pkl er udskiftelige filtypenavne for det samme format; .pickle er den længere eksplicitte form, mens .pkl er den kompakte variant på tre tegn, der har været i brug siden Python 1.x.

Indhold af Python Pickle-filer

Serialiserede objekter i .pickle-filer kan være af enhver Python-type. .pickle-filer bruges til at serialisere databaseobjekter, cache vægte fra maskinlæringsmodeller eller gemme programtilstande mellem kørsler. Kun .pickle-filer fra betroede kilder bør anvendes, da sådanne filer kan indeholde ondsindet software - deserialisering af en upålidelig pickle kan eksekvere vilkårlig Python-kode. Pickle-objekter kan komprimeres eksternt ved hjælp af gzip, bz2 eller lzma.

Hvordan oprettes Python PICKLE-filer?

Serialiseringsprocessen kaldes „pickling“ og udføres ved hjælp af metoderne dump() og dumps(). Metoden dump() bruges til at serialisere et objekt til en fil, mens dumps() gemmer objektet som et bytes-objekt. Deserialisering - konvertering af byte-strømmen tilbage til det oprindelige objekt - gøres ved hjælp af load() og loads(); denne proces kaldes „unpickling“.

Pickle-protokolversionen styrer det binære format. Protokol 0 er menneskelæsbar ASCII; Protokol 1-5 er progressivt binære, hvor Protokol 5 (Python 3.8+) tilføjer out-of-band buffere til effektiv håndtering af store .NPY-arrays. I workflows til maskinlæring er .pickle meget udbredt til at gemme scikit-learn-modeller og PyTorch-checkpoints, selvom SafeTensors vinder frem som et sikrere alternativ specifikt til modelvægte.

Sikkerhed og tryghed

RISIKO: HIGH

KRITISK ADVARSEL: Pickle-filer kan eksekvere vilkårlig Python-kode, når de indlæses. En ondsindet .pickle-fil kan slette filer, downloade malware eller overtage et system. Indlæs aldrig en pickle-fil fra en upålidelig kilde. I ML/AI-workflows er ondsindede pickles i model-repositories (Hugging Face Hub, GitHub) en aktiv trusselsvektor. Brug picklescan til at scanne filer før indlæsning, eller skift til SafeTensors-formatet for modelvægte. CVE-2025-1889: picklescan < 0.0.22 kunne omgås ved at bruge ikke-standard filtypenavne i arkivbaserede modelpakker.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNPython Pickle Serialization Fileogså kendt som Python Pickle file, pickled object file
UDVIKLERPython Software Foundationsiden 1994 (Python 1.1; pickle module first released)
MIME-TYPEapplication/octet-stream
TYPEbinært serialiseringsformat
STANDARDÅben · royaltyfri
MAGIC BYTES · FILSIGNATUR
OFFSET
0001
HEX
8005
ASCII
··
Magic byte varierer efter protokol: \x80\x00 (proto 0, menneskelæsbar), \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+). Protokol 0 har ingen binær magic - det er menneskelæsbare ASCII-opkoder. Alle binære protokoller starter med opkode 0x80 efterfulgt af protokollens versions-byte.

Programmer der åbner PICKLE-filer

Windows3 apps
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - udskriver det deserialiserede objekt. Brug kun med betroede filer.
VS Code (with Python extension) Gratis Åbn en Python-terminal, importer pickle, og indlæs filen interaktivt i en Jupyter-notesbog eller Python REPL.
Jupyter Notebook / JupyterLab Open-source I en notesbog-celle: import pickle; data = pickle.load(open('file.pickle','rb')); print(data)
macOS1 app
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - udskriver det deserialiserede objekt. Brug kun med betroede filer.
Linux1 app
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - udskriver det deserialiserede objekt. Brug kun med betroede filer.

Tekniske detaljer

dyb specifikation
FilkodningBinær (protokol 1-5); menneskelæsbare ASCII-opkoder (protokol 0)
Magic bytes0x80 efterfulgt af protokolversions-byte; f.eks. 0x80 0x05 for protokol 5 (Python 3.8+); protokol 0 har ingen binær magic
Pickle-protokoller0 (ASCII, Python 1.x); 1 (binær, Python 1.x); 2 (new-style klasser, Python 2.3+); 3 (bytes, Python 3.0+); 4 (objekter >4 GB, Python 3.4+); 5 (out-of-band buffere, Python 3.8+)
StandardprotokolProtokol 5 er standarden i Python 3.8 og nyere
KomprimeringIngen indbygget; pakkes ofte eksternt i gzip, bz2 eller lzma; joblib tilføjer sit eget komprimeringslag
KrypteringIngen - ingen indbygget kryptering; krypter på filsystem- eller wrapperniveau efter behov
Typisk filstørrelseUnder 1 MB for modelkonfigurationer; 1 MB - flere GB for ML-modelvægte og store datasæt
SikkerhedsrisikoDeserialisering af upålidelige pickle-data kan eksekvere vilkårlig Python-kode via __reduce__ hooks - unpickle aldrig filer fra upålidelige kilder
Intern strukturStrøm af pickle-opkoder, der koder Python-objekter rekursivt; Protokol 4+ bruger frames til chunked streaming; Protokol 5 tilføjer out-of-band buffere for zero-copy af store arrays
MIME-typeapplication/octet-stream (formelt); application/x-pickle (uformelt)
PlatformsuafhængigPlatformsuafhængig; kører på ethvert Python-understøttet operativsystem (Windows, Linux, macOS)
Serialiserings-APIdump() og dumps() til pickling; load() og loads() til unpickling
ML/AI-anvendelsePrimært serialiseringsformat for scikit-learn-modeller og PyTorch-checkpoints; SafeTensors vinder frem som et sikrere alternativ til modelvægte
Udgivet1994 (Python 1.1; pickle module first released)
Seneste versionProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Åben standardJa · royaltyfri
Specifikationdocs.python.org

PICKLE-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med PICKLE-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om PICKLE-filer.

Ofte stillede spørgsmål

Hvordan åbner jeg en .pickle-fil?
Brug Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Indlæs kun filer fra betroede kilder - pickle kan eksekvere vilkårlig kode.
Hvad er forskellen på .pickle og .pkl?
De er det samme format med forskellige filtypenavne. .pkl er mere almindelig i praksis; .pickle er det fulde ord. Pythons pickle-modul accepterer begge.
Er pickle-filer sikre at åbne?
Kun hvis du stoler på kilden. Pickle er i sin natur usikker med upålidelige data - indlæsning af en ondsindet pickle-fil kan eksekvere vilkårlig kode på din maskine. For ML-modeller fra ukendte kilder bør du scanne med picklescan først.
Kan jeg konvertere en pickle-fil til JSON?
Kun hvis det serialiserede objekt indeholder JSON-kompatible typer. Brug Python: json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Komplekse objekter (NumPy-arrays, klasseinstanser) kræver brugerdefinerede serialisatorer.
Hvilken Python-protokol skal jeg bruge, når jeg gemmer en pickle?
Brug protocol=5 (Python 3.8+) for den bedste ydeevne med store data, især NumPy-arrays. Brug protocol=2, hvis du har brug for kompatibilitet med Python 2. Angiv det med pickle.dump(obj, f, protocol=5).
Hvorfor er min pickle-fil så stor?
Pickle gemmer hele objektgrafen inklusive metadata for klasser. For NumPy-arrays eller ML-modelvægte bør du bruge komprimerede formater: pickle.dump(obj, gzip.open('file.pkl.gz','wb')) eller skifte til SafeTensors/HDF5.
Kan jeg åbne en pickle-fil i Excel eller et regneark?
Ikke direkte. Hvis din pickle indeholder en pandas DataFrame, skal du først eksportere den til CSV med Python: df.to_csv('out.csv').

Referencer

1Python docs - pickle moduledocs.python.org
2PEP 3154 - Pickle Protocol 4peps.python.org

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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

Relaterede filtyper

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

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å