动态unpickling时分配变量名称

时间:2017-07-18 14:09:51

标签: python pickle

关于python pickle: 我有一种情况,我试图重新加载一堆我已保存到我已命名为原始变量名称的文件+ .pkl

我可以重新加载数据,但无法找到将此数据转换回原始名称的简单方法。这是我的代码:

varsToPickle=('gradBoostersIN',
              'gradBoostersOUT',
              'gradBoostersSTAT',
              'predictTableTest',
              'predictTableTrain',
              'scoresTrainIN',
              'scoresTrainOUT',
              'scoresTrainSTAT',
              'scoresTestIN',
              'scoresTestOUT',
              'scoresTestSTAT')

for fn in varsToPickle:

    var_filename = '(A_Pathway)/%s.pkl' %fn
    # Open the file to load the var
    var_pkl = open(var_filename, 'rb')
    pickle.load(var_pkl)
    # this is where id like to have the load assign the output to variable fn
    # something like:    eval('%s = pickle.load(var_pkl)' %fn)
    # Close the pickle instances
    var_pkl.close()

我是python的新手,但出于多种原因我真的不喜欢这种方法(尤其是eval()让我害怕)。我觉得这必须是定期完成的事情,但我找不到正确的方法来搜索这个答案。谢谢您的帮助!

0 个答案:

没有答案