如题,将Python 2.x代码迁移到Python 3.x时报错:
AttributeError: 'collections.OrderedDict' object has no attribute 'iteritems'
报错指向的Python 2语句写法为:
for k,p in child._parameters.iteritems():
上述出错的原因是iteritems在Python 3中被移除了,因此需要换一种写法访问队列中的每一项,在Python 3中的写法应该改为:
for k,p in child._parameters.items():
即去掉iter前缀即可。
进一步延伸: 在Python 3中,还有诸如iterkeys等也需要去掉iter前缀。
参考资料: