我正在尝试同步读取一个包含N个.csv文件的列表。
现在我要做的是:
进口多进程
是否有更快的方法将列表的分区分割为Process函数?
发布于 2014-05-21 21:47:24
我猜这是应你的要求,因为原来的问题很不清楚。由于os.listdir不能保证排序,所以我假设您的“两个”函数实际上是相同的,您只需要同时对多个文件执行相同的过程。
根据我的经验,最简单的方法是旋转一个Pool,为每个文件启动一个进程,然后等待。例如:
import multiprocessing
def process(file):
pass # do stuff to a file
p = multiprocessing.Pool()
for f in glob.glob(folder+"*.csv"):
# launch a process for each file (ish).
# The result will be approximately one process per CPU core available.
p.apply_async(process, [f])
p.close()
p.join() # Wait for all child processes to close.https://stackoverflow.com/questions/23794207
复制相似问题