How to remove extra materials from a mesh if the mesh has more than 1 material? I am trying to write a little script that checks if mesh has more than one material, and if it does, remove materials until there is only one left on the item. Here is what I have so far:
import bpy
for ob in bpy.data.objects:
    number_of_mats = len(ob.material_slots.items())
    if number_of_mats &gt; 1:
        for i in range(number_of_mats-1):
            # remove material here?

I cannot seem to figure out the method to remove a mat at this point. Any suggestions?
You can set the index of the list to 1, iterate through the upcoming slots, call and override the context of material_slot_remove(). Demo on how to remove all slots &gt; 0:
for obj in bpy.context.selected_editable_objects:
    obj.active_material_index = 1
    for i in range(1, len(obj.material_slots)):
        bpy.ops.object.material_slot_remove({'object': obj})