Python中的C#Parallel.Foreach等价物

我有96个txt文件需要处理。 现在我正在使用for循环并一次只做一个,这个过程非常缓慢。 生成的96个文件不需要合并。 有没有办法让它们平行运行,ala Parallel.foreach在C#中? 当前代码:

for src_name in glob.glob(source_dir+'/*.txt'):
   outfile = open (...)
   with open(...) as infile:
      for line in infile:
         --PROCESS--
   for --condition--:
      outfile.write(...)
   infile.close()
   outfile.close()

希望此进程并行运行于source_dir中的所有文件。


假设限制因素确实是处理而不是I / O,那么可以使用joblib轻松地在多个CPU上运行循环。

他们的文档中的一个简单例子:

>>> from math import sqrt
>>> from joblib import Parallel, delayed
>>> Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in range(10))
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
链接地址: http://www.djcxy.com/p/84257.html

上一篇: C# Parallel.Foreach equivalent in Python

下一篇: reinterpret cast an array from string to int