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é:
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 ")
é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.
Si quelqu'un peu m'aider à comprendre, merci d'avance