我有一个脚本,列出了 SDE 数据库中的要素类和字段。python 模块 arcplus 创建一个要素类列表:
#Create list of feature classes on ArcSDE
mylist = arcplus.listAllFeatureClasses("Database Connections\\Connection to oracle.sde")
而函数 arcpy.ListFields 为每个要素类创建一个字段列表。
#dictionary of featureclasses and fields
ns_dict = dict([(list_entry, [f.name for f in arcpy.ListFields(list_entry)])for list_entry in mylist])
除非我对特定要素类的字段没有读取权限,否则这非常有用。然后它返回如下内容:
IOError: "Database Connections\Connection to oracle.sde\POLITICAL.LANDS\POLITICAL.DISTRICT_LANDS" does not exist
对于“IOError 某些要素类不存在”的每个实例,我想跳到 my_list 中的下一个要素类。我还没有找到一个可行的 try/except 块。或者也许完全不同的东西更合适?