python - 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() 文件已经保存时,我没有问题。有人知道这可能是什么原因吗?
解决方案
推荐阅读
- c# - 如何避免 .NET AssemblyVersion 和 AssemblyFileVersion 中的重复常量字符串
- reactjs - 我如何渲染一个 REACT 组件并摆脱正在运行的组件?
- javascript - 将 Jquery 升级到 3.4 后,Material js 单选按钮禁用不起作用?
- wso2 - WSO2 身份服务器模式集群
- node.js - 从 S3 检索大量数据时,如何绕过 Heroku 的超时?
- sql - 计算用零替换缺失行的预定义值的平均值和标准偏差
- python-3.x - UnicodeDecodeError:“charmap”编解码器无法解码位置 20318 中的字节 0x9d:字符映射到
- python - 如何启动 __name__ == '__main__': 使用来自另一个 .py 文件的特定输入?
- java - 使用实体的复合键作为另一个实体中的 ManyToMany 键
- git - 为什么`git diff-tree
` 应用于第一次提交时不打印结果?