Tôi đang cố gắng sử dụng NetworkX để đọc Shapefile và sử dụng hàm write_shp() để tạo Shapefiles sẽ chứa nút và các cạnh (sau đây ví dụ này - https://networkx.github.io/documentation/latest/reference/readwrite.nx_shp.html), nhưng khi tôi cố gắng chạy mã nó mang lại cho tôi những lỗi sau:Lỗi "'dict' đối tượng không có thuộc tính 'iteritems'" khi cố gắng sử dụng write_shp của()
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'
tôi đang sử dụng Python 3.4 và cài đặt NetworkX qua pip cài đặt.
Trước khi lỗi này, nó đã cho tôi một số khác có nội dung "xrange không tồn tại" hoặc cái gì đó như vậy, vì vậy tôi đã tra nó lên và chỉ thay đổi 'xrange' thành 'range' trong tệp nx_shp.py, dường như giải quyết nó.
Từ những gì tôi đã đọc nó có thể liên quan đến phiên bản Python (Python2 vs Python3).
Python 3 được đổi tên thành 'dict.iteritems -> dict.items'. – Blender
oh wow Tôi cảm thấy ngớ ngẩn ngay bây giờ, cảm ơn câu trả lời – friveraa
@Blender: Không, nó không đổi tên 'iteritems' thành' items'. Trước đây đã cho bạn một trình lặp (và 3.x không có phương thức như vậy); cái sau cung cấp cho bạn một khung nhìn (được quay trở lại 2.7 là 'viewitems'). – abarnert