1. 程式人生 > 程式設計 >python Manager 之dict KeyError問題的解決

python Manager 之dict KeyError問題的解決

程式需要多程序見共享記憶體,使用了Manager的dict。

最初程式碼如下:

from multiprocessing import Process,Manager
d = Manager().dict()
d2 = {}
 
def f():
  d['a1'] = {}
 <span style="color:#ff6666;">  d['a1']['a2'] = 11</span>
  print d['a1']['a2']
 
if __name__ == '__main__':
  p = Process(target=f)
  p.start()
  p.join()

結果報錯:

  print d['a1']['a2']
KeyError: 'a2'

解決方案:

from multiprocessing import Process,Manager
d = Manager().dict()
d2 = {}
 
def f():
  d['a1'] = {}
<span style="color:#ff6666;">  d2['a2'] = 11
  d['a1'] = d2</span>
  print d['a1']['a2']
 
if __name__ == '__main__':
  p = Process(target=f)
  p.start()
  p.join()

以上這篇python Manager 之dict KeyError問題的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。