データセット内にある場合とない場合があるフィーチャクラスを検索する別の方法は、前述のようにwalk
関数を使用することです。検索に必要なのはワークスペース(つまり、何百ものGDBを含むフォルダー)だけです。
import arcpy, os
workspace = "Path/to/folder"
search = "name_string_you_are_searching_for"
feature_classes = []
for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
datatype="FeatureClass",
type="ANY"):
for fname in filenames:
# search for string in string to eliminate the need for exact filenames
if search.upper() in fname.upper():
feature_classes.append(os.path.join(dirpath, fname))
結果のリストには、検索基準に一致するすべてのフィーチャクラスのパスとファイル名が含まれ、印刷できます。
for fc in feature_classes:
print fc
このwalk
機能を変更type=""
して、フィーチャタイプに変更することにより、特定のタイプのフィーチャ(つまり、ポリゴン、ポイント、ラスターなど)を検索することもできます。