[Python] modo furbo per trovare pattern differenti in una stringa

Alessandro T. tagliare3 a yahoo.it
Mar 13 Feb 2024 17:41:41 CET


On 13/02/24 14:32, Perini Matteo wrote:
> Ciao a tutti,
> è da un po' che non scrivo.
> Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file Gcode.
> [...]
> Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come dizionario.
>
Ciao,
se ho capito bene qualcosa così dovrebbe andare:

import re

origin =""";LAYER:1
;MESH:untitled.stl
G0 F7200 X1298 Y1798 Z4
;TYPE:WALL-OUTER
G1 F1800 X702 Y1798 E1494.81223
G1 X702 Y1202 E2242.21834
G92 E0
G1 X1298 Y1202 E747.40611
G1 Y1798 X1298 E1494.81223
;TIME_ELAPSED:177.752007
;CHANGE;
;LAYER:2
;MESH:untitled.stl
G0 F7200 X1298 Y1798 Z6
;TYPE:WALL-OUTER
G1 F1800 X702 Y1798 E2242.21834
G92 E0
G1 X702 Y1202 E747.40611"""


pattern = re.compile(r"([EFXYZ])(\d+\.?\d*)")

for linea in origin.splitlines():
     if not linea.startswith(';'):
         print(dict(pattern.findall(linea)))



-- 
Alessandro T.

R: Perché leggiamo dall'alto al basso e da sinistra a destra.
D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato?



Maggiori informazioni sulla lista Python