首页 > 解决方案 > Python多处理池在读取文件时卡住

问题描述

在我的主脚本中,我首先执行一个函数 get_files(),它产生并保存以下输出: file1.pkl file2.pkl file3.pkl file4.pkl

然后我想使用 pythons 多处理模块处理文件。这是我的 main.py 的内容

import pandas as pd
import multiprocessing

def get_files(filename):
    # get some data
    for i in range(4):
        data.to_pickle(filename + str(i+1))

def process(file):
    object = pd.read_pickle(file)
    # do some processing
    return object

pool = multiprocessing.Pool(processes=4)
pool.map(process, [file1, file2, file3, file4])

由于某种原因,我的池在读取文件时卡住了。但是,当我再次执行主脚本而不先执行 get_files() 文件已经保存时,我没有问题。有人知道这可能是什么原因吗?

标签: pythonmultiprocessing

解决方案


推荐阅读