【发布时间】:2016-07-16 04:37:00
【问题描述】:
我在一个泡菜的字典中有几十个变量。如果某些条件为真,我需要恢复所有这些变量(所有不同的类型),其名称与字典的键相同。
我简化了代码以指出问题所在。例如,其中一个键是“ref10_data”。如果变量在函数的其他地方定义,它不会被覆盖,但我希望它被覆盖。
import _pickle as pickle
from numpy import max
def main():
processing_path = '/data/common/PROBSEV_DATA/processing/'
ref10_data = 0
restore_dict = pickle.load(open(processing_path + 'cc_rt_prob_svr.out','rb'))
for key in restore_dict:
globals()[key] = restore_dict[key]
print(max(ref10_data))
if __name__ == '__main__':
main()
'0' 是打印的内容。这种question/answer 可以工作,但如果它是先前定义的,它不会覆盖变量。我如何让它重新定义一个变量,或者有更好的方法来构建这个功能? 谢谢。
【问题讨论】:
-
为什么不在字典中使用它们?
标签: python python-3.x pickle shelve