Tôi không thể có được câu trả lời khác để làm việc đầy đủ.
Trong ví dụ đầu tiên, trong một thư mục có cả cơ sở dữ liệu địa lý và shapefiles, tôi chỉ nhận được một danh sách các lớp tính năng trong cơ sở dữ liệu địa lý, nhưng khi tôi nhận xét phần cơ sở dữ liệu địa lý của tập lệnh, tôi đã nhận được một danh sách các shapefile.
Trong ví dụ thứ hai, phần cơ sở dữ liệu địa lý hoàn toàn không hoạt động, vì vậy tôi đã sao chép trong phần cơ sở dữ liệu địa lý của ví dụ đầu tiên. Một lần nữa, tôi nhận được một danh sách chỉ các cơ sở dữ liệu địa lý.
Sau đó, nó đánh tôi: cơ sở dữ liệu địa lý được đọc trước khi shapefiles và tập lệnh dừng lại ở break
phần cơ sở dữ liệu địa lý.
Trở thành một người mới chơi python Tôi không biết tại sao lại break
cần thiết, nhưng không có nó, kịch bản dường như đi vào một vòng lặp vô tận, nhưng vì điều đó break
là cần thiết đối với tôi khi đặt phần cơ sở dữ liệu địa lý vào vòng lặp của chính nó, sau tập tin khác các loại được liệt kê, sẽ giải quyết vấn đề:
#create blank text file
with open("C:\\Temp\\GISlayers.txt", "w") as txt:
for root, dirs, files in os.walk("C:\\Temp\\temp"):
for f in files:
#look for shapefiles, etc.
[code...]
for f in files:
#look for geodatabases
[code...]
Khi tôi làm điều đó tôi đã nhận được danh sách đầy đủ của tôi.
arcpy.da.walk
.