L'appel de rm de sous-processus à l'aide de caractères génériques ne supprime pas les fichiers

Je suis en train de construire une fonction qui permet de supprimer tous les fichiers qui commencent par "ajouter" de la racine de mon projet. Voici ce que j'ai jusqu'à présent

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)

Je ne suis pas avoir un peu de chance, il ne semble pas faire quoi que ce soit. Avez-vous des idées de ce que je fais de mal? Merci!!!!

Je pense que Levon réponse est la meilleure approche; cela dit, si vous voulez voir ce qui est en train de faire, exécutez cette sous strace(1) avec -f option de ligne de commande et vous pouvez voir exactement la execve(2) appel système qui est en train d'être fait.

OriginalL'auteur mythander889 | 2012-06-14