kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
 user46646
user46646
Question

Comment faire une temporisation en Python ?

Je voudrais savoir comment mettre un délai dans un script Python.

2622 2009-02-04T07:04:09+00:00 3
 Simon
Simon
Question modifiée 11 juin 2018 в 12:05
Programmation
sleep
python
delay
timedelay
Vidéos populaires
Python #26 - gestion temps
Python #26 - gestion temps
il y a 4 ans
cours python • Boucle for pour calculer la somme 1+2+... +100 • programmation • tutoriel • lycée
cours python • Boucle for pour calculer la somme 1+2+... +100 • programmation • tutoriel • lycée
il y a 3 ans
PANDAS PYTHON Tutoriel Français - Time Series (18/30)
PANDAS PYTHON Tutoriel Français - Time Series (18/30)
il y a 3 ans
Créer un compteur - Tutoriel Python #5/7
Créer un compteur - Tutoriel Python #5/7
il y a 3 ans
Utiliser l'instruction conditionnelle - Tutoriel Python #3/7
Utiliser l'instruction conditionnelle - Tutoriel Python #3/7
il y a 3 ans
SCIPY PYTHON Tutoriel - Optimize, Fourier, NdImage (16/30)
SCIPY PYTHON Tutoriel - Optimize, Fourier, NdImage (16/30)
il y a 3 ans
cours python • Simulation jeu de hasard • gagne-t-on de l'argent? lycée programmation probabilité
cours python • Simulation jeu de hasard • gagne-t-on de l'argent? lycée programmation probabilité
il y a 3 ans
7.9 pandas: gestion des dates et des séries temporelles
7.9 pandas: gestion des dates et des séries temporelles
il y a 4 ans
Python #41 - mesurer le temps
Python #41 - mesurer le temps
il y a 4 ans
Trabalhando com TEMPO no Python - Biblioteca Datetime
Trabalhando com TEMPO no Python - Biblioteca Datetime
il y a 1 an
Exercice Python: frequence de répétition de chaque mot dans un fichier texte
Exercice Python: frequence de répétition de chaque mot dans un fichier texte
il y a 2 ans
[Python] Temps de calcul - Module timeit
[Python] Temps de calcul - Module timeit
il y a 4 ans
Comment créer un JEU en Python ?
Comment créer un JEU en Python ?
il y a 1 an
« Précédent
Suivant »
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Evan Fosmark
Evan Fosmark
4 février 2009 в 7:05
2009-02-04T07:05:59+00:00
Détails
Source
Editer
#8796240
import time
time.sleep(5)   # Delays for 5 seconds. You can also use a float value.

Voici un autre exemple où quelque chose est exécuté environ une fois par minute :

import time
while True:
    print("This prints once a minute.")
    time.sleep(60) # Delay for 1 minute (60 seconds).
Peter Mortensen
Peter Mortensen
Réponse modifiée 14 juin 2018 в 9:04
2849
0
 pobk
pobk
15 septembre 2008 в 4:34
2008-09-15T16:34:29+00:00
Détails
Source
Editer
#8796239

Vous pouvez utiliser la fonction [sleep() dans le module time][1]. Elle peut prendre un argument flottant pour une résolution à la seconde près.

from time import sleep
sleep(0.1) # Time in seconds

[1] : https://docs.python.org/library/time.html#time.sleep

 Boris
Boris
Réponse modifiée 21 mai 2019 в 11:03
time — Time access and conversions — Python 3.10.7 documentation
docs.python.org
741
0
Jan Vlcinsky
Jan Vlcinsky
14 mai 2014 в 9:30
2014-05-14T21:30:35+00:00
Détails
Source
Editer
#8796241

Un peu d'amusement avec un [générateur][1] endormi.

La question porte sur la temporisation. Il peut s'agir d'un temps fixe, mais dans certains cas, nous pouvons avoir besoin d'un délai mesuré depuis la dernière fois. Voici une solution possible :

Délai mesuré depuis la dernière fois (se réveiller régulièrement)

La situation peut être la suivante : on veut faire quelque chose aussi régulièrement que possible et on ne veut pas s'embêter avec tous les trucs last_time, next_time tout autour de notre code.

Générateur de sonnerie

Le code suivant (sleepy.py) définit un générateur de buzzergen :

import time
from itertools import count

def buzzergen(period):
    nexttime = time.time() + period
    for i in count():
        now = time.time()
        tosleep = nexttime - now
        if tosleep > 0:
            time.sleep(tosleep)
            nexttime += period
        else:
            nexttime = now + period
        yield i, nexttime

Appeler le générateur régulier de buzzergen

from sleepy import buzzergen
import time
buzzer = buzzergen(3) # Planning to wake up each 3 seconds
print time.time()
buzzer.next()
print time.time()
time.sleep(2)
buzzer.next()
print time.time()
time.sleep(5) # Sleeping a bit longer than usually
buzzer.next()
print time.time()
buzzer.next()
print time.time()

Et en l'exécutant, on voit :

1400102636.46
1400102639.46
1400102642.46
1400102647.47
1400102650.47

Nous pouvons aussi l'utiliser directement dans une boucle :

import random
for ring in buzzergen(3):
    print "now", time.time()
    print "ring", ring
    time.sleep(random.choice([0, 2, 4, 6]))

Et en l'exécutant, nous pourrions voir :

now 1400102751.46
ring (0, 1400102754.461676)
now 1400102754.46
ring (1, 1400102757.461676)
now 1400102757.46
ring (2, 1400102760.461676)
now 1400102760.46
ring (3, 1400102763.461676)
now 1400102766.47
ring (4, 1400102769.47115)
now 1400102769.47
ring (5, 1400102772.47115)
now 1400102772.47
ring (6, 1400102775.47115)
now 1400102775.47
ring (7, 1400102778.47115)

Comme nous le voyons, ce buzzer n'est pas trop rigide et nous permet de rattraper les intervalles réguliers de sommeil même si nous nous endormons trop et sortons de l'horaire régulier.

[1] : https://wiki.python.org/moin/Generators

Peter Mortensen
Peter Mortensen
Réponse modifiée 15 juin 2018 в 3:56
Generators - Python Wiki
wiki.python.org
48
0
Communautés apparentées 2
Python en français
Python en français
1 392 utilisateurs
Ouvrir telegram
Python 🇨🇵
Python 🇨🇵
110 utilisateurs
Un groupe de Python en français. @Linux_Fr
Ouvrir telegram
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Роман Азаров
Enregistré il y a 1 semaine
2
Mansur Zakirov
Enregistré il y a 1 semaine
3
Тагир Мамедов
Enregistré il y a 1 semaine
4
Алексей Толманов
Enregistré il y a 1 semaine
5
Valeriu Vodnicear
Enregistré il y a 3 semaines
DA
DE
EL
ES
FR
ID
IT
JA
LV
NL
PT
RU
SL
TR
UK
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution