Python: zpracování textu a regulární výrazy

Roman

Python: zpracování textu a regulární výrazy
« kdy: 13. 07. 2014, 12:47:01 »
Zdravím,
pro software Pronterface napsaný v Pythonu ovládající 3D tiskárnu, bych potřeboval zpracovat textový řetězec týkající se teploty, který tiskárna pravidelně během tisku přes USB posílá do softwaru v počítači.

Výstup vypadá např. takto:

"217.2/230  215.4/240 B:40/55"

Teplota před "/" znamená aktuální teplotu, teplota za "/" požadovanou teplotu. První dvě teploty v tomto příkladu představují teploty hlavic (hotend) z kterých vychází plast, teplota za "B:"(bed), představuje teplotu podložky, na kterou je plast nanášen. Počet hlavic je různý, podložka vždy jen jedna, např, u tiskárny s jednou hlavicí by byl výstup: 215.4/240 B:40/55"
u 4hlavicové tiskárny: "217.2/230 218.2/240 238.1/240 215.4/240 B:40/55"
Prosím o radu jak tyto teploty programováním v pythonu zpracovat aktuální teploty před "/" do několika proměnných. Např HotEnd1, HotEnd2.. a Bed.
Pzthon mám rád, ale na zpracování textu také není moje nejsilnější schopnost.
« Poslední změna: 13. 07. 2014, 12:54:40 od Petr Krčmář »


T

Re:Python: zpracování textu a regulární výrazy
« Odpověď #1 kdy: 13. 07. 2014, 12:59:08 »
Kód: [Vybrat]
>>> input = "217.2/230 218.2/240 238.1/240 215.4/240 B:40/55"
>>> (hotend1, hotend2, hotend3, bed) = [float(s) for s in re.findall(r'(\d+\.\d+)/', input)]