Erreur sur fichier

Bonjour à tous,

J'ai un programme que l'on m'a donné qui permet de communiquer avec un automate programmable par l'intermediaire des broches Tx/Rx d'un ESP8266

Dans la compilation du programme j'ai cette erreur:

/arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/elf2bin.py:54: SyntaxWarning: invalid escape sequence '\s'
  words = re.split('\s+', line)
/.arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/elf2bin.py:73: SyntaxWarning: invalid escape sequence '\s'
  words = re.split('\s+', line)
. Variables and constants in RAM (global, static), used 29576 / 80192 bytes (36%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ DATA     1504     initialized variables
╠══ RODATA   1824     constants       
╚══ BSS      26248    zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 59855 / 65536 bytes (91%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ ICACHE   32768    reserved space for flash instruction cache
╚══ IRAM     27087    code in IRAM    
. Code in flash (default, ICACHE_FLASH_ATTR), used 275092 / 1048576 bytes (26%)
║   SEGMENT  BYTES    DESCRIPTION
╚══ IROM     275092   code in flash 

Je ne suis pas assez calé pour trouver la solution, je fais donc appel à votre aide...

Je ne suis pas sûr de pouvoir t'aider.
il semble qu'il y ait un problème avec le script fournis par Expressif pour l'environnement Arduino.
Ce qui est bizarre, c'est que cette syntaxe n'est plus accepté dans les version de python supérieur à 3.
Peut être qu'un spécialiste de l'IDE Arduino pourrait t'aiguiller pourquoi une veille syntaxe et utilisé avec une version de Python récente, dans l'IDE Arduino ?

trouvez la ligne invalide dans elf2bin.py et essayez avec

words = re.split(r'\s+', line)

ça devrait marcher avec python3

vous pouvez tester dans votre interprétateur favori avec

import re

# Exemple de ligne avec plusieurs espaces
line = "Ceci est un exemple de texte avec des          espaces."
words = re.split(r'\s+', line)
print(words)

vous devriez voir

['Ceci', 'est', 'un', 'exemple', 'de', 'texte', 'avec', 'des', 'espaces.']

Merci, je venais juste de trouver en écrivant '\\s+'

Merci pour le coup de main :wink:

Oui, ça marche aussi.

Vous n'êtes pas obligé d'utiliser des chaînes brutes (r'xxx') en Python, mais elles sont souvent plus pratiques et lisibles, surtout lorsqu'il s'agit d'expressions régulières contenant des séquences d'échappement car il faut dans ce cas échapper tous les caractères spéciaux (comme . ^ $ * + ? { } [ ] \ | ( ) et ça devient vite pénible.