I have a folder with numerous geodatabases in it. Within the geodatabases are feature classes. I would like to get a list of the feature classes in these geodatabases using a Python script. I've only gotten so far as listing the geodatabases. Does anyone have a suggestion on listing the feature classes in the geodatabases?
The print item line in my script gives me the following results:
C:\output\data.gdb
C:\output\otherdata.gdb
C:\output\somethingelse.gdb
I want to generate a list of the feature classes in the geodatabases above. Below is my script so far.
import arcpy, os, sys
from arcpy import env
arcpy.env.workspace = "D:\\output"
inWorkspace = arcpy.env.workspace
workspaces = arcpy.ListWorkspaces("*", "FileGDB")
for item in workspaces:
print item #This part gives me the print statements I shared above
# fcList = arcpy.ListFeatureClasses() #I haven't figured this part out
#I want to list the feature classes in the geodatabases
Answer
The trick you're missing is making each gdb the active workspace before listing the contents:
for item in workspaces:
print item
env.workspace = item
fcs = arcpy.ListFeatureClasses()
for fc in fcs:
print '\t', fc
Also note that this will miss an feature classes inside feature datasets, see Listing all feature classes in File Geodatabase, including within feature datasets? to solve that.
More generally, if you use r
you don't need to double backslash everything (makes for easier copy and paste from windows explorer address bar etc.): e.g. r'D:\output'
No comments:
Post a Comment