The attached script loops through a directory and checks if the number of shapes matches the number of records for each shapefile. import arcpy, os, shapefile from arcpy import env env.workspace = r"C:\path\to\shapefiles" Dir = env.workspace fclist = arcpy.ListFeatureClasses() for fc in fclist: myfc = os.path.join(Dir, fc) sf = shapefile.Reader(str(myfc)) shapes = sf.shapes() shape_total = len(shapes) records = sf.records() record_total = len(records) if shape_total != record_total: print "There is a problem with " + str(fc) else: print str(fc) + " passed"