Intento guardar una lista de enteros en python usando pickle, siguiendo el método exacto que me han proporcionado muchas fonts, y sigo encontrando el mismo error. Aquí está la versión simplificada:
import pickle a=[0,4,8,[3,5]] with open(blah.pickle, 'wb') as b: pickle.dump(a,b)
Y siempre me sale el error:
NameError: name 'blah' is not defined
¿Qué va mal?
Necesitas convertirlo en una cadena:
import pickle a=[0,4,8,[3,5]] with open('blah.pickle', 'wb') as b: pickle.dump(a,b)
Sin las comillas, Python está buscando la variable llamada blah
y está tratando de obtener el atributo pickle
de ese objeto. Como nunca ha definido blah
como una variable, obtiene un NameError
.
Nunca definiste una variable blah
con un atributo de pickle
. Si quiso decir que la cadena constante 'blah.pickle'
es el nombre del archivo resultante, ponga comillas alrededor, por supuesto …! Es decir:
with open('blah.pickle', 'wb') as b: