小能豆

Error: " 'dict' object has no attribute 'iteritems' "

py

我正在尝试使用 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'

我正在使用 Python 3.4 并通过 pip install 安装了 NetworkX。

在此错误之前,它已经给了我另一个错误,说“xrange 不存在”或类似的错误,所以我查找了一下,然后在 nx_shp.py 文件中xrange进行了更改,这似乎解决了它。range

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


阅读 21

收藏
2024-09-21

共1个答案

小能豆

就像你在 python3 中一样,使用dict.items()而不是dict.iteritems()

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

看一下 Python 3.0 Wiki内置更改部分,其中指出:

已删除dict.iteritems()dict.iterkeys()dict.itervalues()

而是:分别使用dict.items()dict.keys()dict.values()

2024-09-21