.PICKLE

File PICKLE

Python Pickle Serialization File
Fai una domanda
RISPOSTA RAPIDA

Un file PICKLE memorizza un oggetto Python serializzato - un modello ML addestrato, un dataset o una struttura dati - creato dal modulo integrato pickle di Python. Aprilo con Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Non caricare mai un file pickle da una fonte non attendibile; può eseguire codice arbitrario sulla tua macchina.

Sviluppatore: Python Software Foundation Categoria: File di sviluppo Standard aperto MIME: application/octet-stream
SI APRE SU Windows macOS Linux
Correlati: .DO · .MD · .HEX · .XSD

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jul 14, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file PICKLE?

I file con l'estensione .pickle memorizzano oggetti Python serializzati utilizzando il modulo pickle, la libreria di serializzazione degli oggetti integrata in Python. Sia .pickle che .pkl sono estensioni intercambiabili per lo stesso formato; .pickle è la forma esplicita più lunga, mentre .pkl è la variante compatta a tre caratteri in uso fin da Python 1.x.

Contenuto dei file Python Pickle

Gli oggetti serializzati nei file .pickle possono essere di qualsiasi tipo Python. I file .pickle vengono utilizzati per serializzare oggetti di database, memorizzare nella cache i pesi dei modelli di machine learning o salvare lo stato del programma tra le esecuzioni. Devono essere utilizzati solo file .pickle provenienti da fonti attendibili, poiché tali file possono contenere software dannoso - la deserializzazione di un pickle non attendibile può eseguire codice Python arbitrario. Gli oggetti Pickle possono essere compressi esternamente utilizzando gzip, bz2 o lzma.

Come vengono creati i file Python PICKLE?

Il processo di serializzazione è chiamato «pickling» e viene eseguito utilizzando i metodi dump() e dumps(). Il metodo dump() viene utilizzato per serializzare un oggetto in un file, mentre dumps() salva l'oggetto come oggetto bytes. La deserializzazione - la conversione del flusso di byte nell'oggetto originale - viene eseguita utilizzando load() e loads(); questo processo è indicato come «unpickling».

La versione del protocollo pickle controlla il formato binario. Il Protocollo 0 è ASCII leggibile dall'uomo; i Protocolli 1-5 sono progressivamente binari, con il Protocollo 5 (Python 3.8+) che aggiunge buffer fuori banda per la gestione efficiente di grandi array .NPY. Nei flussi di lavoro di machine learning, .pickle è ampiamente utilizzato per persistere modelli scikit-learn e checkpoint PyTorch, sebbene SafeTensors stia guadagnando adozione come alternativa più sicura specificamente per i pesi dei modelli.

Sicurezza e incolumità

RISCHIO: HIGH

AVVERTENZA CRITICA: I file Pickle possono eseguire codice Python arbitrario quando vengono caricati. Un file .pickle dannoso può eliminare file, scaricare malware o prendere il controllo di un sistema. Non caricare mai un file pickle da una fonte non attendibile. Nei flussi di lavoro ML/AI, i pickle dannosi nei repository di modelli (Hugging Face Hub, GitHub) sono un vettore di minaccia attivo. Usa picklescan per scansionare i file prima del caricamento, o passa al formato SafeTensors per i pesi dei modelli. CVE-2025-1889: picklescan < 0.0.22 poteva essere aggirato utilizzando estensioni di file non standard all'interno di pacchetti di modelli basati su archivio.

Dettagli del formato

in sintesi
NOME COMPLETOPython Pickle Serialization Fileanche noto come Python Pickle file, pickled object file
SVILUPPATOREPython Software Foundationdal 1994 (Python 1.1; pickle module first released)
TIPO MIMEapplication/octet-stream
TIPOformato di serializzazione binario
STANDARDAperto · royalty-free
MAGIC BYTES · FIRMA DEL FILE
OFFSET
0001
HEX
8005
ASCII
··
Il byte magic varia in base al protocollo: \x80\x00 (proto 0, leggibile dall'uomo), \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+). Il protocollo 0 non ha magic binario - sono opcode ASCII leggibili dall'uomo. Tutti i protocolli binari iniziano con l'opcode 0x80 seguito dal byte della versione del protocollo.

Programmi che aprono file PICKLE

Windows3 apps
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - stampa l'oggetto deserializzato. Utilizzare solo con file attendibili.
VS Code (with Python extension) Gratuito Apri un terminale Python, importa pickle e carica il file in modo interattivo in un notebook Jupyter o in un REPL Python.
Jupyter Notebook / JupyterLab Open-source In una cella del notebook: 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')))" - stampa l'oggetto deserializzato. Utilizzare solo con file attendibili.
Linux1 app
Python Open-source python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - stampa l'oggetto deserializzato. Utilizzare solo con file attendibili.

Dettagli tecnici

specifiche approfondite
Codifica del fileBinario (protocolli 1-5); opcode ASCII leggibili dall'uomo (protocollo 0)
Magic bytes0x80 seguito dal byte della versione del protocollo; es. 0x80 0x05 per il protocollo 5 (Python 3.8+); il protocollo 0 non ha magic binario
Protocolli Pickle0 (ASCII, Python 1.x); 1 (binario, Python 1.x); 2 (classi nuovo stile, Python 2.3+); 3 (bytes, Python 3.0+); 4 (oggetti >4 GB, Python 3.4+); 5 (buffer fuori banda, Python 3.8+)
Protocollo predefinitoIl protocollo 5 è quello predefinito in Python 3.8 e versioni successive
CompressioneNessuna integrata; comunemente avvolto esternamente in gzip, bz2 o lzma; joblib aggiunge il proprio livello di compressione
CrittografiaNessuna - nessuna crittografia integrata; crittografare a livello di filesystem o wrapper se necessario
Dimensione tipica del fileMeno di 1 MB per le configurazioni dei modelli; da 1 MB a diversi GB per i pesi dei modelli ML e i dataset di grandi dimensioni
Rischio di sicurezzaLa deserializzazione di dati pickle non attendibili può eseguire codice Python arbitrario tramite gli hook __reduce__ - non eseguire mai l'unpickling di file da fonti non attendibili
Struttura internaFlusso di opcode pickle che codificano oggetti Python in modo ricorsivo; il Protocollo 4+ utilizza frame per lo streaming a blocchi; il Protocollo 5 aggiunge buffer fuori banda per lo zero-copy di array di grandi dimensioni
Tipo MIMEapplication/octet-stream (formale); application/x-pickle (informale)
MultipiattaformaIndipendente dalla piattaforma; funziona su qualsiasi sistema operativo supportato da Python (Windows, Linux, macOS)
API di serializzazionedump() e dumps() per il pickling; load() e loads() per l'unpickling
Utilizzo ML/AIFormato di serializzazione primario per i modelli scikit-learn e i checkpoint PyTorch; SafeTensors sta guadagnando adozione come alternativa più sicura per i pesi dei modelli
Rilasciato1994 (Python 1.1; pickle module first released)
Ultima versioneProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Standard aperto · royalty-free
Specificadocs.python.org

Conversioni PICKLE

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file PICKLE. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file PICKLE.

Domande frequenti

Come si apre un file .pickle?
Usa Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Carica solo file da fonti attendibili - pickle può eseguire codice arbitrario.
Qual è la differenza tra .pickle e .pkl?
Sono lo stesso formato con estensioni diverse. .pkl è più comune nella pratica; .pickle è la parola completa. Il modulo pickle di Python accetta entrambi.
I file pickle sono sicuri da aprire?
Solo se ti fidi della fonte. Pickle è intrinsecamente insicuro con dati non attendibili - il caricamento di un file pickle dannoso può eseguire codice arbitrario sulla tua macchina. Per i modelli ML da fonti sconosciute, scansiona prima con picklescan.
Posso convertire un file pickle in JSON?
Solo se l'oggetto serializzato contiene tipi compatibili con JSON. Usa Python: json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Gli oggetti complessi (array NumPy, istanze di classi) richiedono serializzatori personalizzati.
Quale protocollo Python dovrei usare quando salvo un pickle?
Usa protocol=5 (Python 3.8+) per le migliori prestazioni con dati di grandi dimensioni, specialmente array NumPy. Usa protocol=2 se hai bisogno della compatibilità con Python 2. Specificalo con pickle.dump(obj, f, protocol=5).
Perché il mio file pickle è così grande?
Pickle memorizza l'intero grafo dell'oggetto, inclusi i metadati della classe. Per gli array NumPy o i pesi dei modelli ML, usa formati compressi: pickle.dump(obj, gzip.open('file.pkl.gz','wb')) o passa a SafeTensors/HDF5.
Posso aprire un file pickle in Excel o in un foglio di calcolo?
Non direttamente. Se il pickle contiene un DataFrame pandas, esportalo prima in CSV con Python: df.to_csv('out.csv').

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

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

Estensioni correlate

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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z