Как использовать подстановочный знак с arcpy.da.Walk - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь использовать подстановочный знак для извлечения только определенных типов классов отношений, но не знаю синтаксис / использование подстановочных знаков.

У меня есть фрагмент кода, который перечисляет классы отношений, как мне нужно.

ws = 'Database Connections\\gis@gisprod.sde'
arcpy.env.workspace = ws

featuredatasets = arcpy.ListDatasets("GIS.Wa*", "Feature")
fcs = []

print (featuredatasets)

# go into each feature dataset and get a list of relationship classes
for fd in featuredatasets:
    oldws = arcpy.env.workspace
    arcpy.env.workspace = ws + "\\" + fd

    relationship_classes = next(arcpy.da.Walk(arcpy.env.workspace, datatype='RelationshipClass'))[2]

список всех классов отношений в рабочей области, которые содержат "Has" в своем имени

1 Ответ

0 голосов
/ 16 мая 2019

Если вы спрашиваете о сопоставлении с подстановочными знаками SQL Like, попробуйте использовать модуль fnmatch. Это встроенный модуль в Python, который позволяет сопоставлять отдельные символы (через ?) или глобально сопоставлять (через *).

Несмотря на то, что основное назначение модуля - сопоставление имен файлов, но вы все равно можете использовать его для сопоставления строковых шаблонов.

Пример кода:

import fnmatch

a = "hello"
print(fnmatch.fnmatch(a, "h*"))

Выход:

True
...