Tratando de encurtir una lista en python

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: