Bonjour, mon code bloque si code demande une saisie et marche sans problème dans les autres cas.
Par exemple un code qui marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
code="a=2\nprint(a)"
stdin=""
Par exemple un code qui bloque:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
code="a=input()\nprint(a)"
stdin="2"
La classe est assez complexe, la trace bloque ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
class maclass(Bdb):
...
 
stdin="2" #au lieu de '' 
mglobals = {
           '__name__': '__main__', '__builtins__': __builtins__,
 
            '__stdin__': StringIO(stdin), '__stdout__': StringIO(),
 
            '__stderr__': StringIO(),
        }
        try:
            self.run(code, mglobals , mglobals ) #blocage ici
Merci d'avance pour vos idées.