描述
返回当前工作空间中的数据集的列表。可针对数据集名称和数据集类型指定搜索条件,从而限制返回的列表。
讨论
必须先设置工作空间环境,然后才能使用多个列表函数,包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
语法
ListDatasets ({wild_card}, {feature_type})
参数 | 说明 | 数据类型 | ||||||
wild_card | 限制返回的结果。如果未指定某一值,则返回所有值。通配符不区分大小写。
| String | ||||||
feature_type | 限制由 wild_card 参数返回的结果的数据集类型。以下是可用的数据集类型:
(默认值为 All) | String |
数据类型 | 说明 |
String | 该函数返回包含数据集名称的列表,该列表受通配符和要素类型参数限制。 |
代码示例
列出以 C 开头的要素数据集名称。
import arcpy
arcpy.env.workspace = "c:/data"
# Print to the Interactive window all the feature datasets in the
# workspace that start with the letter C.
datasets = arcpy.ListDatasets("C*", "Feature")
for dataset in datasets:
print(dataset)
列出以 c 或 f 开头、以 c 以外的其他字母开头或同时包含 c 和 f 的要素数据集名称。
import arcpy
arcpy.env.workspace = 'c:/data'
# Print to the interactive window all the feature datasets in the
# workspaces that start with the letter c or f.
datasets1 = list(set(arcpy.ListDatasets("c*", "Feature")) |
set(arcpy.ListDatasets("f*", "Feature")))
print(datasets1)
# workspaces that start with the letters except c
datasets2 = list(set(arcpy.ListDatasets("*", "Feature")) -
set(arcpy.ListDatasets("c*", "Feature")))
print(datasets2)
# workspaces that contain both the letter c and f
datasets3 = list(set(arcpy.ListDatasets("*c*", "Feature")) &
set(arcpy.ListDatasets("*f*", "Feature")))
print(datasets3)