Llamar a rm desde el subproceso utilizando comodines no elimina los archivos

Estoy tratando de construir una función que elimine todos los archivos que comienzan con 'prepend' de la raíz de mi proyecto. Esto es lo que tengo hasta ahora

def cleanup(prepend):
    prepend = str(prepend)
    PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
    end = "%s*" % prepend
    cmd = 'rm'
    args = "%s/%s" % (PROJECT_ROOT, end)
    print "full cmd = %s %s" %(cmd, args)
    try:
        p = Popen([cmd, args],  stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True).communicate()[0]
        print "p", p
    except Exception as e:
        print str(e)

No estoy teniendo ninguna suerte, no parece estar haciendo nada. ¿Tienes alguna idea de lo que podría estar haciendo mal? ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta