错误:“dict”对象没有属性“iteritems”

  • 问题:
  • 我试图使用NetworkX读取一个Shapefile,并使用函数write_shp()生成包含节点和边的Shapefile,但是当我尝试运行代码时,它会给我以下错误:

    Traceback (most recent call last):   File
    "C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in
    <module>
    nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line
    192, in write_shp
    for key, data in e[2].iteritems(): AttributeError: 'dict' object has no attribute 'iteritems'

    我使用的是python3.4,并通过pip安装安装NetworkX

    在这个错误之前,它已经给了我另一个错误,它说“xrange不存在”或类似的东西,所以我查找了它,在nx中将xrange改为range_上海医药文件,似乎解决了这个问题

    据我所知,它可能与Python版本(Python2 vs Python3)有关

  • 答案:
  • 在python3中,使用dict.项目()而不是dict.iteritems()

    iteritems()已在python3中删除,因此您不能再使用此方法

    看看python3.0wikiBuilt-in Changes第节,其中说明:

    删除dict.iteritems()迪克特·伊特凯斯和dict.itervalues()

    相反:使用dict.项目()数字键和dict.值()