2 votes

Exécution de tous les fichiers d'un dossier en Python

J'ai 20 fichiers Python qui sont stockés dans un répertoire dans ubuntu 14.04 comme 1.py, 2.py, 3.py , 4.py bientôt.

J'ai exécuté ces fichiers par "python 1.py", "python 2.py" bientôt pour 20 fois.

Existe-t-il un moyen d'exécuter tous les fichiers python d'un dossier par une seule commande ?

2voto

RedEyed Points 1010
find . -maxdepth 1 -name "*.py" -exec  python3 {} \;

1voto

Nic3500 Points 3741
for F in $(/bin/ls *.py); do ./$F; done

Vous pouvez utiliser n'importe quelle construction bash directement à partir de la ligne de commande, comme cette boucle for. Je force aussi /bin/ls pour s'assurer de contourner tout alias que vous auriez pu définir.

0voto

Daniel Sanchez Points 2626

Utilisez une boucle à l'intérieur du dossier :

#!/bin/bash
for script in $(ls); do
    python $script
done

0voto

Duarte Arribas Points 336

Vous pouvez essayer avec le glob de la bibliothèque.

Installez d'abord la bibliothèque de globes.

Puis l'importer :

import glob

Puis utilisez une boucle for pour itérer à travers tous les fichiers :

for fileName in glob.glob('*.py'):
    #do something, for example var1 = filename

Le * est utilisé pour les ouvrir tous.

Plus d'informations ici : https://docs.python.org/2/library/glob.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X