【发布时间】:2014-08-21 05:39:18
【问题描述】:
我手头有 26 个.pkl 文件,从dict_a.pkl 到dict_z.pkl。我想将它们加载到内存中,所以我可以比较以从dict_a.pkl 加载的变量开头的元素。我想这样做的原因是每个文件都很大,如果我把它们都放在一个大文件中,它会太大而无法消化。如果我以 ad hoc 样式加载文件,那么它将不断读取磁盘。
import string
alphabet = string.lowercase
for alpha in alphabet:
ff = 'dict_'+alpha+'.pkl'
with open(ff, 'r') as tt:
temp = cPickle.load(tt)
如何在循环中将temp变量替换为dict_a、dict_b,这样我在循环之后,可以直接将变量dict_a改成dict_z。
【问题讨论】:
-
你可以有一个
dict的键'dict_a',dict_b, ... 对应的值是泡菜对象 -
您可能会喜欢的一个技巧:您可以将多个泡菜保存到一个文件中,然后一个一个地加载它们。您不需要 26 个文件。
-
谢谢,@bernie。我腌制的东西是一维以上的列表。索引它们时,代码将变得如此难以阅读。我会尝试找出其他方法。
标签: python variable-names