Chamar rm do subprocesso usando curingas não remove os arquivos

Eu estou tentando construir uma função que irá remover todos os arquivos que começam com 'prepend' da raiz do meu projeto. Aqui está o que eu tenho até agora

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)

Eu não estou tendo sorte - não parece estar fazendo nada. Você tem alguma idéia do que eu posso estar fazendo errado? Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion