如何解决并行将多个泡菜保存到一个文件中
我知道我可以将多个泡菜保存到一个文件中
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 举报,一经查实,本站将立刻删除。