【发布时间】:2015-03-06 08:38:14
【问题描述】:
我有以下课程:
class Document:
_queryID = ""
_name = []
_docId = ""
在代码中,我创建了一个名为 listDocuments 的列表。我用 Document 类型的对象填充列表。
import pickle
if __name__ == "__main__":
listDocuments = []
for i in range(0,10):
e = Document()
e._queryID = str(i)
e._docId = str(i+1)
e._name.append("h"+str(i))
listDocuments.append(e)
save_data(listDocuments, "Variations.dat")
list = load_data("Variations.dat")
for obj in listEntities:
print obj._queryID + "==>"+ obj._docId
for var in obj._name:
print var +" "
print "----\n"
我使用了以下来自Python: how to save a list with objects in a file的函数:
#save list of variations
def save_data(data, path):
with open(path, "wb") as f:
pickle.dump(data, f)
#load list of variations (Correctd after comments thank you)
def load_data(var_file):
try:
with open(var_file) as f:
listDocument = pickle.load(f)
except:
listDocument = []
return listDocument
- 作为输出,我只能打印 _queryID。我错过了什么?我不能 打印列表 _name 和 _docID
【问题讨论】:
-
我无法重现问题,它似乎对我来说工作正常。您能否发布用于打印列表
_name的代码?另外,我会避免命名变量list(在您的第二个代码块中),并且您在try中缺少listDocument的s