Bonjour à tous,
Dans le cadre d'un projet de type "timelapse", je souhaite utiliser une boucle infinie de type :
que je cherche à limiter dans le temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for filename in camera.capture_continuous('img{counter:04d}.jpg'): print('Captured %s' % filename) time.sleep(1) # wait 5 minute
J'ai trouvé une solution pour cela en utilisant une boucle while de type :
afin d'interrompre la boucle for au bout de 3 secondes (pour l'exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 a=(time.time()) b=(time.time()+3) while a<b: a=(time.time())
Mais je n'arrive pas à imbriquer correctement les deux boucles et ces dernières s'exécutent l'une après l'autre (d'abord les 3 secondes du while et après le for ou inversement).
A titre d'exemple (et pour simplifier en remplaçant la partie timelapse par une boucle trèèèès longue qui est à interrompre en principe par le while) :
> le while n'est pas pris en compte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import time a=(time.time()) b=(time.time())+3 while a<b: for c in range(100000000000000000000): print(c) a=(time.time())
J'imagine que je pourrais faire autrement mais j'aimerais au moins comprendre mon erreur et la logique des while / for.
Merci par avance pour votre éclairage !
Partager