Bonjour,

j'ai actuellement un soucis sous Python 3. Je tente de match une chaine et de récupérer par la même occasion les valeurs de id et msg.

Response est le résultat d'une requête en telnet, avec telnetlib, et quoi que je fasse je ne parviens pas au résultat voulu

Code python : 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
 
# récupération du retour et conversion en string
response = str(self.__telnet.read_until(b"\n\r", self.__timeout))
 
# response contiens "b'error id=12345 msg=error message'"
# La conversion byte to string semble poser problème aussi, peut être que ce n'est pas la bonne méthode
error = re.match("error id=([\d]+) msg=([\w ]+)", response)
 
if error is None:
  # traitement des données
 
  # On écrase response pour obtenir le message d'erreur
  error = re.match("error id=([\d]+) msg=([\w ]+)", response)
 
# Traitement du message d'erreur (systématique même en cas de succès)
 
# suite...

Actuellement je tombe toujours dans ma condition, error vaut toujours None et je comprend pas pourquoi

Merci d'avance pour votre aide