Reputation: 9875
I have a list of variable names, and a list of names of pickled objects:
pickle_var_names = object1, object2 # both empty, which throws an error
pickle_names = ['object1', 'object2']
I wish to load the pickles called in pickle_names
into pickle_var_names
, respectively:
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)
How do I do initialize a list of variables to None
to allow them to be assigned later?
Upvotes: 0
Views: 106
Reputation: 33345
Lists are indexed by position, not by name, so you could do this:
picklevars = []
picklenames = ['object1', 'object2']
for picklename in picklenames:
with open(pickle_name, 'r') as pickle_fp:
picklevars.append(cPickle.load(pickle_fp))
Or, if you're able to use a dictionary instead of a list:
picklevars = {}
picklenames = ['object1', 'object2']
for picklename in picklenames:
with open(pickle_name, 'r') as pickle_fp:
picklevars[picklename] = cPickle.load(pickle_fp)
Upvotes: 1