您好,登錄后才能下訂單哦!
程序需要多進程見共享內存,使用了Manager的dict。
最初代碼如下:
from multiprocessing import Process, Manager d = Manager().dict() d2 = {} def f(): d['a1'] = {} <span > 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 > 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問題的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。