Estoy usando Python y Envoy. Necesito eliminar todos los archivos en un directorio. Además de algunos archivos, el directorio está vacío. En un terminal de esto sería:Usando rm * (comodín) en el destinatario: Ningún archivo o directorio
rm /tmp/my_silly_directory/*
El sentido común dicta que el enviado, esto se traduce en:
r = envoy.run('rm /tmp/my_silly_directory/*')
Sin embargo:
r.std_err -> "rm: cannot remove `/tmp/my_silly_directory/*': No such file or directory"
Naturalmente, hay alternativas al uso de enviado en este caso, simplemente me pregunto por qué no funciona.
¿Alguna pista?
Esto suena perfectamente bien, y probablemente funcione con subproceso. Sin embargo, en enviado, la única llamada que funciona es 'envoy.run ([[" sh "," -c "," rm/tmp/my_silly_directory/* "]])' por algún motivo. Tanto para un "subproceso" más simple;) –
no pudo hacer que esto funcione con un subproceso, por cierto. Mismo error que la pregunta original. – Nate
@Nate: ['shutil.rmtree ('/ tmp/my_silly_directory /')'] (http://stackoverflow.com/questions/9106350/how-to-use-wildcards-with-envoy?lq=1#comment15551439_9109127) – jfs