Я разбираю файл gcode (расположенный в f_path) построчно, в поисках заданной строки. Эта строка («M622») отображается как один текст во всем текстовом файле, структура которого выглядит следующим образом:
GCODE FILE
M622; arm the Lasers
M610 S0 A80 B0 C0 ; allocate feeders
T0 ; set active extruder
G92 E0 ; set active extruder to 0
G28 XY ; home X and Y
G28 X ; home x
G90 ; absolute
G0 F3000 X35 Y5 S255 ; edge of plate
G92 X0 Y0 Z-2 ; local home
G0 Z0 ; drop Z
В конце Я хочу, чтобы код возвращал номер строки, в которой была найдена строка.
CODE
rgx_start = re.compile(r'M622') # String to be searched: "M622"
with open (f_path, 'rt') as txtfile:
line = txtfile.readline()
line_i = 0 # Counter of each line in the original text file
hdr_start = 0 # Variable to store the line number where the header starts
while line: # Reading each line as a string
while rgx_start.search(line) != None: # No "M622" is found => move to the next line
line_i += 1 # The line counter is set to the next line
hdr_start = line_i # When "M622" is found
print('First line: ',hdr_start)
Когда я запускаю код, указанный выше, я ввожу бесконечное число л oop. Есть предложения?