Περισσότερα
Πώς μπορώ να δημιουργήσω μια χρονική καθυστέρηση στην Python;
Θα ήθελα να μάθω πώς να βάλω μια χρονική καθυστέρηση σε ένα σενάριο Python.
2622
3
Εδώ είναι ένα άλλο παράδειγμα όπου κάτι εκτελείται περίπου μία φορά το λεπτό:
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση
sleep()
στην ενότηταtime
. Μπορεί να λάβει ένα όρισμα float για ανάλυση σε υποδευτερόλεπτα.Λίγη διασκέδαση με μια νυσταγμένη γεννήτρια.
Η ερώτηση αφορά τη χρονική καθυστέρηση. Μπορεί να είναι σταθερός χρόνος, αλλά σε ορισμένες περιπτώσεις μπορεί να χρειαζόμαστε μια καθυστέρηση που μετράται από την τελευταία φορά. Εδώ είναι μια πιθανή λύση:
Καθυστέρηση που μετράται από την τελευταία φορά (τακτική αφύπνιση)
Η κατάσταση μπορεί να είναι, θέλουμε να κάνουμε κάτι όσο το δυνατόν πιο τακτικά και δεν θέλουμε να ασχοληθούμε με όλα τα πράγματα
last_time
,next_time
σε όλο τον κώδικα μας.Γεννήτρια βομβητή
Ο παρακάτω κώδικας (sleepy.py) ορίζει μια γεννήτρια
buzzergen
:Κλήση του κανονικού buzzergen
Και εκτελώντας το βλέπουμε:
Μπορούμε επίσης να το χρησιμοποιήσουμε απευθείας σε έναν βρόχο:
Και εκτελώντας το μπορεί να δούμε:
Όπως βλέπουμε, αυτός ο βομβητής δεν είναι πολύ άκαμπτος και μας επιτρέπει να προλάβουμε τα τακτικά διαστήματα ύπνου, ακόμη και αν παρακοιμηθούμε και βγούμε από το κανονικό πρόγραμμα.