Tengo un objeto estibado en un archivo llamado b1.pkl:¿Por qué python pickle load y dump inflan el tamaño de un objeto en el disco?
$ ls -l b*
-rw-r--r-- 1 fireball staff 64743950 Oct 11 15:32 b1.pkl
Luego ejecute el siguiente código Python para cargar el objeto y lo descarga en un archivo nuevo:
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()
El archivo este código crea es más del doble de 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
Puede alguien explicar por qué el nuevo archivo es mucho más grande que la original? Debe contener exactamente la misma estructura.
¿Fue la salmuera original recibida utilizando el mismo protocolo? – root