본문 바로가기
Python/Python FAQ

Python 오류: "'dict' 객체에는 'iteritems' 속성이 없습니다", Error: " 'dict' object has no attribute 'iteritems' "

by 베타코드 2023. 9. 10.
반응형

질문


나는 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 파일에서 xrangerange로 변경했더니 해결되었습니다.

내가 읽은 바에 따르면 이것은 Python 버전 (Python2 대 Python3)과 관련이 있을 수 있다고 합니다.


답변


파이썬3에서는 dict.items()를 사용하십시오. dict.iteritems() 대신

iteritems()는 파이썬3에서 제거되었으므로 이 메서드를 더 이상 사용할 수 없습니다.

Python 3.0 위키의 Built-in Changes 섹션을 확인하십시오. 거기에는 다음과 같이 명시되어 있습니다:

dict.iteritems(), dict.iterkeys(), 그리고 dict.itervalues()를 제거했습니다.

대신 각각 dict.items(), dict.keys(), 그리고 dict.values()를 사용하십시오.

반응형

댓글