python 共享内存dict,在python中从共享内存字典加载

本文探讨了在Python中使用multiprocessing模块创建的共享内存字典遇到的迭代问题。当尝试从共享内存字典读取并写入文件时,遇到了KeyError。尽管可以通过将共享字典转换为普通字典来解决迭代问题,但这种方法可能导致大量内存消耗。作者寻求一种在不消耗过多内存的情况下迭代共享字典的方法。
摘要由CSDN通过智能技术生成

我试图读取共享字典元素并将其输出到文件中。但是我测试了我不能访问共享字典,它会返回错误。在

我写了下面的代码,但是它只有在dictionary对象没有被共享的情况下才有效(正如我所评论的那样)。在

有人能建议如何访问共享内存字典吗?在import multiprocessing as mp

sharedi = mp.Manager().dict()

#sharedi = {}

l1 = ['a','b','c','d']

l2 = ['b','b','c','e']

for i in range(0,2):

name = "abc"+str(i)

sharedi.update({name:[l1,l2]})

def writ(dirname):

outfile = open(dirname,'w')

for i in sharedi:

for object in sharedi[i][0]:

outfile.write(object)

print sharedi

p1 = mp.Process(target = writ,args=('d1',))

p2 = mp.Process(target = writ,args=('d2',))

p1.start()

p2.start()

# adding join() as suggeseted in the comment

p1.join()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值