1. 問題描述
如題,將Python 2.x代碼遷移到Python 3.x時(shí)報(bào)錯(cuò):
            
              AttributeError: 
              
                'collections.OrderedDict'
              
               object has no attribute 
              
                'iteritems'
              
            
          
          報(bào)錯(cuò)指向的Python 2語句寫法為:
            
              
                for
              
               k
              
                ,
              
              p 
              
                in
              
               child
              
                .
              
              _parameters
              
                .
              
              iteritems
              
                (
              
              
                )
              
              
                :
              
            
          
          2. 解決方法
上述出錯(cuò)的原因是iteritems在Python 3中被移除了,因此需要換一種寫法訪問隊(duì)列中的每一項(xiàng),在Python 3中的寫法應(yīng)該改為:
            
              
                for
              
               k
              
                ,
              
              p 
              
                in
              
               child
              
                .
              
              _parameters
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
            
          
          即去掉iter前綴即可。
            
              進(jìn)一步延伸:
            
             在Python 3中,還有諸如
            
              iter
            
            keys等也需要去掉iter前綴。
          
參考資料:
- https://blog.csdn.net/guangmingngm/article/details/80943063
 - https://github.com/pallets/jinja/issues/150
 
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
					微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
					
