Mã dưới đây sẽ tạo, từ một shapefile, một tệp lớp có tên test_A.lyr có Truy vấn Định nghĩa của "testField" = 'A' được lưu vào nó.
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
Nếu được yêu cầu, bạn cũng có thể thêm tệp lớp này hoặc đối tượng Lớp (lyr) từ trước khi nó được lưu dưới dạng tệp lớp, vào bản đồ của bạn thông qua arcpy.micking.AddLayer.
Để xem liệu một địa chỉ trên MakeFeatureLayer có được chuyển qua dưới dạng Truy vấn Định nghĩa hay không, tôi nghĩ đó là hành vi không có giấy tờ, tôi đã thực hiện một thử nghiệm thứ hai bên dưới để xác minh Câu trả lời của @John và anh ta hoàn toàn chính xác.
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()
đã được thay thế bằngarcpy.mp.LayerFile()