J'essaye d'écrire un programme simple pour appeler un manuscrit de coquille. J'ai besoin que le script shell soit exécuté en continu, cependant, pas dans un intervalle de temps donné, car je ne peux pas savoir exactement combien de temps cela prendra pour que le processus créé par le script shell finisse. Actuellement, j'ai utilisé le threading pour exécuter le script toutes les N secondes. Ce dont j'ai besoin est, dès que "test.sh" se termine, exécutez "test.sh" à nouveau.Python, lance un script shell dès la fin de l'itération précédente.
Ceci est mon code actuel.
import subprocess
import threading
looptime = 7.0
def recognize():
threading.Timer(looptime,recognize).start()
filepath = "/home/user/Downloads/image.jpg"
output = subprocess.check_output(['dir/test.sh',str(filepath)])
print ("python print\n%s" % output)
recognize()
Donc, en supprimant le timer, il lancera test.sh dès que test.sh sera terminé? Est-ce vraiment aussi simple? –
@GeorgeT. Oui, ça l'est. – gzc