描述
可返回当前工作空间中受名称、要素类型和可选要素数据集限制的要素类的列表。
讨论
必须先设置工作空间环境,然后才能使用多个列表函数,包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
语法
ListFeatureClasses ({wild_card}, {feature_type}, {feature_dataset})
参数 | 说明 | 数据类型 | ||||||
wild_card | 限制返回的结果。如果未指定某一值,则返回所有值。通配符不区分大小写。
| String | ||||||
feature_type | 将限制结果的要素类型。下表中列出了一些有效要素类型:
(默认值为 All) | String | ||||||
feature_dataset | 若已指定,则限制返回到要素数据集的要素类。若留空,则在工作空间中将仅返回独立要素类。 | String |
数据类型 | 说明 |
String | 该函数返回包含要素类名称的列表,该列表受可选的 wild_card、feature_type 和 feature_dataset 参数的限制。 |
代码示例
将 shapefile 复制到地理数据库中。
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]))
列出地理数据库中所有的要素类,包括要素数据集中的所有要素类。
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)