You can adapt this to suit your needs:import arcpy
arcpy.env.overwriteOutput = True
fc = "d:/Travaux/NantesMetropole/lines.shp" # path to input feature class
field = "blines" # field name to get unique values
arcpy.MakeFeatureLayer_management(fc, "lyr") # make feature layer
rows = arcpy.SearchCursor(fc, "", "", "", field) # make cursor, sort by field
firsttime = 1
prev = -1
for row in rows: # loop through each feature
current = row.getValue(field) # get current field value
if firsttime == 1 or prev != current:
prev = row.getValue(field) # set prev to current value
arcpy.SelectLayerByAttribute_management("lyr", "NEW_SELECTION", field + " = " + str(row.mapnumber))
arcpy.CopyFeatures_management("lyr", "d:/Travaux/NantesMetropole/lines" + str(current) + ".shp")
arcpy.Delete_management("lyr")
del row
del rows