Summary
Lists the feature classes in the workspace, limited by name, feature type, and optional feature dataset.
Discussion
The workspace environment must be set first before using several of the List functions, including ListDatasets, ListFeatureClasses, ListFiles, ListRasters, ListTables, and ListWorkspaces.
Syntax
ListFeatureClasses ({wild_card}, {feature_type}, {feature_dataset})
Parameter | Explanation | Data Type |
wild_card | The wild_card limits the results returned. If no wild_card is specified, all values are returned. | String |
feature_type | The feature type to limit the results returned by the wild_card argument. Valid feature types are listed in the following table:
(The default value is All) | String |
feature_dataset | Limits the feature classes returned to the feature dataset, if specified. If blank, only stand-alone feature classes will be returned in the workspace. | String |
Return Value
Data Type | Explanation |
String | The list containing feature class names is returned from the function, limited by the optional wild_card, feature_type, and feature_dataset arguments. |
Code sample
ListFeatureClasses example
Copy shapefiles to a geodatabase.
import os
import arcpy
# Set the workspace for ListFeatureClasses
arcpy.env.workspace = "c:/base"
# Use the ListFeatureClasses function to return a list of
# shapefiles.
featureclasses = arcpy.ListFeatureClasses()
# Copy shapefiles to a file geodatabase
for fc in featureclasses:
arcpy.CopyFeatures_management(
fc, os.path.join("c:/base/output.gdb",
os.path.splitext(fc)[0]))
ListFeatureClasses example 1
List all feature classes in a geodatabase, including any in feature datasets.
import arcpy
import os
arcpy.env.workspace = "c:/base/gdb.gdb"
datasets = arcpy.ListDatasets(feature_type='feature')
datasets = [''] + datasets if datasets is not None else []
for ds in datasets:
for fc in arcpy.ListFeatureClasses(feature_dataset=ds):
path = os.path.join(arcpy.env.workspace, ds, fc)
print(path)