摘要
列出工作空间中的要素类,受名称、要素类型和可选要素数据集的限制。
讨论
必须先设置工作空间环境,之后才能使用多个列表函数,这些列表函数包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
语法
ListFeatureClasses ({wild_card}, {feature_type}, {feature_dataset})
参数 | 说明 | 数据类型 |
wild_card | wild_card 可限制返回的结果。如果未指定任何 wild_card,则会返回所有值。 | String |
feature_type | 限制由 wild_card 参数返回的结果的要素类型。有效要素类型为:
(默认值为 All) | String |
feature_dataset | 若已指定,则限制返回到要素数据集的要素类。若留空,则在工作空间中将仅返回独立要素类。 | String |
返回值
数据类型 | 说明 |
String | 该函数返回包含要素类名称的列表,该列表受可选的 wild_card、feature_type 和 feature_dataset 参数的限制。 |
代码示例
ListFeatureClasses 示例
将 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]))
ListFeatureClasses 示例 1
列出地理数据库中所有的要素类,包括要素数据集中的所有要素类。
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)