尝试使用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 :(得分: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]