1.ListDatasets:
摘要:列出工作空间中的所有数据集。可以针对数据集名称和数据集类型指定搜索条件,从而限制返回的列表。
说明:必须先设置工作空间环境,之后才能使用多个列表函数,这些列表函数包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
语法:
返回值:
ListFeatureClasses:
摘要:列出工作空间的要素类、受名称、要素类型和可选要素数据集的限制
说明:也是要先设置工作空间环境、之后才能使用多个列表函数、这些列表函数包括。
语法:
返回值:
代码示例:
ListFeatureClasses:
将shapefile复制到地理数据库中。
#将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)
2.ListFields:列出指定数据集中的要素类,shapefile或表中的字段。返回的列表可用针对名称和字段类型的条件进行限制,并将包含字段对象。
语法:这里field可以理解为字段的意思。(只是自己的理解)
返回值:
#ListFields 示例
#列出字段属性。
import arcpy
# For each field in the Hospitals feature class, print
# the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")
for field in fields:
print("{0} is a type of {1} with a length of {2}"
.format(field.name, field.type, field.length))
#ListFields 示例 2
#生成字段名称列表。
import arcpy
featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [f.name for f in arcpy.ListFields(featureclass)]