试图在python中挑选一个列表

时间:2015-03-07 02:43:57

标签: python pickle

尝试使用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

出了什么问题?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您从未使用blah属性定义变量pickle。如果您将常量字符串'blah.pickle'视为生成文件的名称,请在其周围添加引号,当然......!即:

with open('blah.pickle', 'wb') as b:

答案 2 :(得分:0)

我尝试了在 kite.com 上找到的这种方法,它非常适合我。

sample_list = [1, 2, 3]
file_name = "sample.pkl"

open_file = open(file_name, "wb")
pickle.dump(sample_list, open_file)
open_file.close()

open_file = open(file_name, "rb")
loaded_list = pickle.load(open_file)
open_file.close()

print(loaded_list)

#Outputs [1, 2, 3]