Je souhaite créer un script abstrait, qui s'activera toutes les heures et exécutera tous les scripts du répertoire spécifique. Peu importe s'il y en a deux ou une douzaine.Exécution de plusieurs scripts.py à partir d'une boucle/dir/in spécifique
Quand je lance
import os
for item in os.listdir(r'C:/directory/Desktop'):
execfile(item)
Il dit qu'il n'y a pas un tel fichier, même si si je les liste (avec impression au lieu de execfile) Je vois tous. J'ai décidé d'obtenir le répertoire exact de chacun d'eux.
import os
for item in os.listdir(r'C:/directory/Desktop'):
execfile(r'C:/directory/Desktop/%s'%item)
Il s'arrête après l'exécution du premier script trouvé. Faisons une boucle while imparable alors.
import os
script_list = []
for item in os.listdir(r'C:/directory/Desktop'):
script_list.append(item)
while len(script_list) > 0:
execfile(r'C:/directory/Desktop/%s'%(script_list.pop()))
Comment j'étais étonné quand ça ne marchait pas non plus. Encore une fois, seul le premier script trouvé a été exécuté. Donc, la question est, les gars savez-vous comment exécuter tous les scripts en boucle dans un répertoire spécifique sans connaître leurs noms?
Dans chacun de ces scripts j'utilise
return sys.exit(function)
mai cette cause ce problème?
J'ai essayé avec subprocess.call (item) et run (item) sans chance.
Vous pouvez simplement appeler 'python/dir/* py' via' subprocess' ou similaire; ou importer tous les modules et les appeler –