问题描述
import pickle
from joblib import Parallel,delayed
def g(val,f):
## do some stuff
t = "." + val
pickle.dump(t,f)
def loadall(pick):
with open(pick,'rb') as f:
while True:
try:
yield(pickle.load(f))
except:
break
fname = 'pickle.pickle'
with open(fname,'wb') as f:
[g(val,f) for val in list("ABCDEFG")] ## serial
#Parallel(n_jobs=4)(delayed(g)(val,f) for val in list("ABCDEFG")) ## parallel
[print(r) for r in loadall(fname)]
有什么办法可以并行执行此操作吗?切换到并行循环会引发异常: TypeError:无法腌制'_io.BufferedWriter'对象
我知道我可以保存不同的泡菜并在处理结束时将它们加入,但是写入同一文件更加干净。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)