【发布时间】:2015-08-05 18:17:41
【问题描述】:
我正在尝试使用 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)有关。
【问题讨论】:
-
Python 3 重命名
dict.iteritems -> dict.items. -
哇,我现在感觉好傻,谢谢你的回答
-
@Blender:不,它没有将
iteritems重命名为items。前者给了你一个迭代器(而 3.x 没有这样的方法);后者为您提供了一个视图(作为viewitems向后移植到 2.7)。 -
这可能是也可能不是 OP 最初链接到的页面:networkx.github.io/documentation/latest/reference/readwrite/…
标签: python python-3.x dictionary