2011-02-16 26 views
7

¿Cuál es la mejor forma de ejecutar todos los archivos Python en un directorio?Ejecutar todos los archivos Python en un directorio

python *.py 

solo ejecuta un archivo. Escribir una línea por archivo en un script de shell (o hacer un archivo) parece engorroso. Necesito esto b/c Tengo una serie de pequeños scripts matplotlib cada uno creando un archivo png y quiero crear todas las imágenes a la vez.

PD: Estoy usando el shell bash.

Respuesta

23

fiesta tiene bucles:

for f in *.py; do python "$f"; done 
+1

Debería haberlo pensado;) –

10

Una alternativa es usar xargs. Eso le permite paralelizar la ejecución, que es útil en los procesadores multi-core actuales.

ls *.py|xargs -n 1 -P 3 python 

El -n 1 hace xargs dan a cada proceso sólo uno de los argumentos, mientras que el -P 3 hará xargs corren hasta tres procesos en paralelo.

+0

Gracias por la pista Erik - es bueno saber de usted. –

Cuestiones relacionadas