Je veux exécuter une fonction toutes les 5 secondes. Ce code fonctionnerait:Python exécuter une fonction toutes les 5 secondes en utilisant les informations de l'essai précédent
import threading
def notify():
threading.Timer(5.0, notify).start()
notify()
si la fonction doit paramètre dans la course précédente? Je essayé ceci:
import threading
def notify(since):
threading.Timer(5.0, notify(since)).start()
# initial_id is just an integer, eg 423455677
notify(initial_id)
J'obtiens l'erreur:
Traceback (most recent call last):
File "/Users/paulyu/anaconda/lib/python3.4/threading.py", line 911, in _bootstrap_inner
self.run()
File "/Users/paulyu/anaconda/lib/python3.4/threading.py", line 1177, in run
self.function(*self.args, **self.kwargs)
TypeError: notify() missing 1 required positional argument: 'since'
Howe pour y remédier? Votre avis est très apprécié. Merci Paul
Votre entrée et votre erreur ne sont pas corrélées. Qu'est-ce qui est censé être? –
C'est juste un nombre que j'ai obtenu pour la fonction de notification. Pour la première exécution, je mets un nombre en paramètre à notify(), dont le nombre est récupéré par une autre fonction. –
Votre deuxième exemple vous montre appelé notifier sans paramètre * depuis *, qu'essayez-vous réellement d'accomplir? –