Error al usar `struct.pack` para escribir datos en el archivo
tengo unnumpy.ndarray
muestra de números, cada uno entre 1 y2**20
.
Me gustaría escribirlo en un archivo binario, de modo que cada elemento esté representado por cuatro bytes.
Sin embargo, el tamaño del archivo resultante es diferente de 4 veces el tamaño de la muestra.
Este es el código que estoy usando:
outputFile = open('testDS', 'w')
print len(sample)
if (outputFile is not None):
for s in sample:
assert(s < 2**20)
r = struct.pack("i", s)
assert(len(r) == 4)
outputFile.write(r)
outputFile.close()
La salida que obtengo (el tamaño de la muestra) es: 1000
Sin embargo, el tamaño del archivo resultante es 4026 bytes.
¿Alguna idea de por qué el tamaño del archivo no es exactamente 4000 bytes?