Quelles sont les causes de l'erreur “_pickle.UnpicklingError: invalid charge"'.”?

Je suis en train de stockage de 5000 éléments de données sur un tableau. Ce 5000 éléments de stockage sur un fichier existant (donc il n'est pas vide).

Mais j'obtiens une erreur et je ne sais pas ce qui en est la cause.

:

def array():

    name = 'puntos.df4'

    m = open(name, 'rb')
    v = []*5000

    m.seek(-5000, io.SEEK_END)
    fp = m.tell()
    sz = os.path.getsize(name)

    while fp < sz:
        pt = pickle.load(m)
        v.append(pt)

    m.close()
    return v

:

line 23, in array
pt = pickle.load(m)
_pickle.UnpicklingError: invalid load key, ''.
peut-être que je manque quelque chose, mais on dirait que vous êtes en supposant que chaque valeur a une taille d'un octet, pourquoi vous pensez que c'est-il garanti? et pourquoi essayez-vous de unpickle valeurs individuelles manuellement? était le fichier créé à l'aide du module pickle?
Bon, je n'ai pas d'avis mais si je supprime le "m.seek(-5000, io.SEEK_END)" partie, j'ai eu une EOFError. Je pensais que résolu, mais maintenant vous mentionner que je suis plus confus. Dois-je modifier la Question?
Oh, et oui, le fichier a été créé à l'aide de la dump() la fonction du module pickle

OriginalL'auteur Xcecution | 2015-10-10