Estoy intentando crear una función que elimine todos los archivos que comienzan con 'prepend' desde la raíz de mi proyecto. Esto es lo que tengo hasta ahoraLlamar a rm desde el subproceso utilizando comodines no elimina los archivos
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 un poco de suerte - no parece estar haciendo nada. ¿Tienes alguna idea de lo que podría estar haciendo mal? ¡Gracias!
pienso La respuesta de Levon es el mejor enfoque, dicho esto, si quieres ver lo que está haciendo, ejecuta esto bajo 'strace (1)' con la opción de línea de comando '-f' y puedes ver el sistema exacto 'execve (2)' llamada que se está realizando. – sarnold