Python pickle / unpickle une liste dans / d'un fichier

J'ai une liste qui ressemble à ceci:

a = [['a string', [0, 0, 0], [22, 'bee sting']], ['see string', 
    [0, 2, 0], [22, 'd string']]]

et je rencontre des problèmes de l'enregistrer et de le récupérer.

Je peux l'enregistrer sur ok à l'aide de pickle:

with open('afile','w') as f:
    pickle.dump(a,f)

mais recevez le message d'erreur suivant lorsque j'essaie de charger:

pickle.load('afile')

Traceback (most recent call last):
  File "<pyshell#116>", line 1, in <module>
    pickle.load('afile')
  File "C:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "C:\Python27\lib\pickle.py", line 841, in __init__
    self.readline = file.readline
AttributeError: 'str' object has no attribute 'readline'

J'avais pensé que je pourrais convertir un tableau numpy et l'utilisation savesavez ou savetxt. Cependant j'obtiens l'erreur suivante:

>>> np.array([a])

Traceback (most recent call last):
  File "<pyshell#122>", line 1, in <module>
    np.array([a])
ValueError: cannot set an array element with a sequence

source d'informationauteur atomh33ls