2015-11-03 23 views
0

我有變量名的列表,以及醃製對象的名稱列表:如何將pickled對象加載到一個空變量列表中?

pickle_var_names = object1, object2 # both empty, which throws an error 
pickle_names = ['object1', 'object2'] 

我想叫pickle_names泡菜裝入pickle_var_names,分別爲:

for pickle_var_name,pickle_name in zip(pickle_var_names,pickle_names): 
    with open(pickle_name,'r') as pickle_fp: 
     pickle_var_name = cPickle.load(pickle_fp) 

我如何請初始化一個變量列表None,以便稍後分配它們?

回答

1

列表是按位置索引,叫不上名字,所以你可以這樣做:

picklevars = [] 
picklenames = ['object1', 'object2'] 
for picklename in picklenames: 
    with open(pickle_name, 'r') as pickle_fp: 
     picklevars.append(cPickle.load(pickle_fp)) 

或者,如果你能夠使用字典而不是列表:

picklevars = {} 
picklenames = ['object1', 'object2'] 
for picklename in picklenames: 
    with open(pickle_name, 'r') as pickle_fp: 
     picklevars[picklename] = cPickle.load(pickle_fp) 
相關問題