Python pexpect

Fermé
aloka Messages postés 4 Date d'inscription mardi 24 juillet 2012 Statut Membre Dernière intervention 26 juillet 2012 - 26 juil. 2012 à 13:35
 A.Nonymous - 27 juil. 2012 à 22:15
Bonjour,

voici un extrait de mon code
**********************************
x.expect(') ')
x.sendline('c\n')
**********************************
mais j'ai eu cette erreur
**********************************
File "./essai2.py", line 20, in <module>
x.expect(') ')
File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1310, in expect
compiled_pattern_list = self.compile_pattern_list(pattern)
File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1221, in compile_pattern_list
compiled_pattern_list.append(re.compile(p, compile_flags))
File "/usr/lib/python2.6/re.py", line 190, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.6/re.py", line 245, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
*************************************
je pense que que la parenthèse (') ') est la cause de l'erreur! j'ai tenté d'écrire x.expect('\) ') mais sans résultat.
j'attends votre aide
merci,

2 réponses

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 131
26 juil. 2012 à 20:22
salut

je ne vois pas pourquoi il y a une erreur de compilation de regex alors que tu cherches à passer une chaîne
ou alors est-ce parce que les chaînes passées à expect() sont passées à la moulinette d'un compilateur de regex ? je ne sais pas


en tous cas, c'est peut être lié au problème de "Backslash Plague", cf ici
https://docs.python.org/3/howto/regex.html

essaye
x.expect('\\) ') 
0
Il s'attend à avoir une expression régulière.
Le message d'erreur sans équivoque est celui-ci : unbalanced parenthesis

On ne peut avoir dans une reg.exp des parenthèses en solitaire ;)
0