我有一个项目要读取数百万行输入,然后在一个非常大的字典上运行计算。我之前已经在程序的一些 IO 部分实现了池/队列技术。但是,有没有办法使用多处理来划分标准:
对于 xdictionary.iteritems() 中的 i:
谢谢!
最佳答案
您可以使用imap
:
import multiprocessing
import os
def f(key_value):
print "pid={}, key={}, value={}".format(os.getpid(), *key_value)
pool = multiprocessing.Pool(2)
for _ in pool.imap(f, {1:2, 3:4, 5:6, 7:8}.iteritems()):
pass
输出:
pid=1689, key=1, value=2
pid=1689, key=3, value=4
pid=1689, key=5, value=6
pid=1690, key=7, value=8
关于python - 如何在 Python 中使用多重处理来划分字典的迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26568002/