Bonjour à tous,
voilà je cherche à comprendre comment fonctionne python pou résoudre ce petit problème.
Je dois passer un paramètre (un widget gtk) dans une fonction qui est appelé toute les x secondes. Problème: quand je spécifie un paramètre à mes fonctions j'obtiens une maximum recursion depth exceeded alors que tout se passe bien si je n'ai pas de paramètre. J'ai réduis et réduis le code pour faire ressortir ce problème de récursivité:
étant débutant en python je ne comprends pas pourquoi l'introduction de ce paramètre "widg" change la manière d'exécuter ce bout de code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #!/usr/bin/env python import pygtk import sys pygtk.require('2.0') import gnomeapplet import gtk import time from threading import Timer def tempo(widg): print "within tempo" param = widg t = Timer(2.0, displayTime(param) ) t.start() def displayTime(widg): param = widg print "date: ", param, time.strftime("%a, %d/%m/%Y %H:%M:%S", time.localtime()) tempo(param) print "Starting from command line" displayTime(" widget here ")
Si quelqu'un peu m'aider à comprendre, merci d'avance
Partager