2015-03-07 4 views
0

Пытается сохранить список целых чисел в python, используя pickle, следуя точному методу, предоставленному мне многими источниками, и я все еще сталкиваюсь с той же ошибкой. Вот упрощенная версия:Попытка рассортировать список в python

import pickle 
a=[0,4,8,[3,5]] 
with open(blah.pickle, 'wb') as b: 
    pickle.dump(a,b) 

И я всегда получаю ошибку:

NameError: name 'blah' is not defined 

Что идет не так?

+0

ОК Я забыл кавычки, чтобы сделать «blah.pickle» строку, которая была глупой, но это все еще не так, если исправить это. Теперь, с тем же кодом с этим исправлением, я получаю: AttributeError: объект 'module' не имеет атрибута 'dump' – 7132208

+0

Код, который вы опубликовали, работает с исправлением. В вашем фактическом коде должно быть что-то еще странное. Вы должны задать другой вопрос. – SethMMorton

ответ

2

Вы должны сделать его строку:

import pickle 
a=[0,4,8,[3,5]] 
with open('blah.pickle', 'wb') as b: 
    pickle.dump(a,b) 

Без кавычек, Python ищет переменную с именем blah и пытается получить атрибут этого объекта pickle. Поскольку вы никогда не определяли blah как переменную, вы получаете NameError.

+0

Я официально тупой. спасибо – 7132208

0

Вы никогда не определяли переменную blah с атрибутом pickle. Если вы имели в виду постоянную строку 'blah.pickle' как имя полученного файла, положите цитаты вокруг него, конечно ...! I.e:

with open('blah.pickle', 'wb') as b: 
Смежные вопросы