Ho un oggetto in salamoia in un file chiamato b1.pkl:Perché il pickle python carica e scarica la dimensione di un oggetto sul disco?
$ ls -l b*
-rw-r--r-- 1 fireball staff 64743950 Oct 11 15:32 b1.pkl
Poi ho eseguito il seguente codice Python per caricare l'oggetto e discarica in un nuovo file:
import numpy as np
import cPickle as pkl
fin = open('b1.pkl', 'r')
fout = open('b2.pkl', 'w')
x = pkl.load(fin)
pkl.dump(x, fout)
fin.close()
fout.close()
Il file questo codice crea è più di due volte più grande:
$ ls -l b*
-rw-r--r-- 1 fireball staff 64743950 Oct 11 15:32 b1.pkl
-rw-r--r-- 1 fireball staff 191763914 Oct 11 15:47 b2.pkl
qualcuno può spiegare il motivo per cui il nuovo file è molto più grande di quella originale? Dovrebbe contenere esattamente la stessa struttura.
è stato il sottaceto originale ottimizzato utilizzando lo stesso protocollo? – root