Приведенный ниже код создаст из шейп-файла файл слоя с именем test_A.lyr, в котором сохранен запрос определения "testField" = 'A'.
import arcpy
arcpy.MakeFeatureLayer_management(r"C:\temp\testLines.shp","test_lyr")
lyr = arcpy.mapping.Layer("test_lyr")
lyr.name = "test"
lyr.definitionQuery = '"testField" = ' + "'A'"
lyr.saveACopy(r"C:\temp\test_A.lyr")
del lyr
При необходимости вы также можете добавить этот файл слоя или объект Layer (lyr) до того, как он будет сохранен как файл слоя, в вашу карту с помощью arcpy.mapping.AddLayer.
Чтобы увидеть, передается ли where_clause в MakeFeatureLayer как запрос определения, что, по моему мнению, является недокументированным поведением, я выполнил второй тест ниже, чтобы проверить ответ @John, и он совершенно прав.
arcpy.MakeFeatureLayer_management(r"C:\temp\testLines.shp","test_lyr2",'"testField" = ' + "'A'")
lyr2 = arcpy.mapping.Layer("test_lyr2")
lyr2.name = "test2"
lyr2.saveACopy(r"C:\temp\test_2.lyr")
del lyr2
arcpy.mapping.layer()
была замененаarcpy.mp.LayerFile()