python - 在 Python 中使用多处理将数据存储在共享字典中
问题描述
我正在尝试使用多处理模块的 Pool 类同时在多个核心上运行多个地理空间计算。我希望将结果写在字典中,然后我可以用它来做一些进一步的事情。输入坐标存储在一个 csv 文件中,每一对坐标都存储为一个元组,以便 map 函数工作。
到目前为止,我有这个:
from multiprocessing import Pool
def some_function(point_coords):
result = f"do some stuff with {point_coords}"
if __name__ == '__main__':
csv_file= r'C:\Users\Name\Desktop\csv_file.csv'
with open(csv_file, newline='') as f:
reader = csv.reader(f)
pointlist = list(reader)
list1=[]
list2=[]
for i in pointlist:
list1.append(i[0])
list2.append(i[1])
point_coords_zip = zip(list1,list2)
point_coords = set(point_coords_zip)
p = Pool()
mapping = p.map(some_function, point_coords)
p.close()
p.join()
我只是想为每个作业在字典中some_function()
创建point_coords
作为键和result
作为值。我已阅读有关 Manager 课程的信息。但我不确定如何使用它dict = manager.dict()
来存储所有结果。
解决方案
推荐阅读
- html - 如何根据边界元法命名子元素?
- ios - iOS:以编程方式确定 iPhone 锁定到哪个运营商
- python - 有人可以帮助我处理此错误消息“ValueError:无法将字符串转换为浮点数:'X'”
- google-apps-script - 尝试通过 google appscript 添加访客
- apache-kafka - 在 kafka-connect 到 S3 中使用不同转换器的错误/问题
- google-bigquery - 行的简单 SQL 聚合,其中值是整数数组
- abap - 外部视图已激活,但语法错误仍然存在
- javascript - 为什么我尝试提交表单时没有做任何事情?
- python - python - 如何通过python中的热图减法显示两个矩阵的差异?
- visual-studio - 类中方法参数的数量错误