How to batch rename materials or auto assign them to the name of the texture file
Using blender internal, the textures can be found in bpy.data.textures. By looping through this you can easily match the texture name to the image it has.

import bpy

for tex in bpy.data.textures:
    if tex.type == 'IMAGE':
        tex.name = tex.image.name


Usually the image name is its filename without extension, if you have image names with extensions, you can use os.path.splitext to remove the extension.

tex.name = os.path.splitext(tex.image.name)[0]