What is the best way to run all Python files in a directory?
python *.py
only executes one file. Writing one line per file in a shell script (or make file) seems cumbersome. I need this b/c I have a series of small matplotlib scripts each creating a png file and want to create all of the images at once.
PS: I'm using the bash shell.
bash has loops:
for f in *.py; do python "$f"; done
An alternative is to use xargs. That allows you to parallelise execution, which is useful on today's multi-core processors.
ls *.py|xargs -n 1 -P 3 python
The -n 1 makes xargs give each process only one of the arguments, while the -P 3 will make xargs run up to three processes in parallel.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With