Перезапуск потока Python в инструкции raw_input

#python #multithreading #loops #restart #raw-input

Вопрос:

У меня есть небольшая проблема со сценарием на Python, с которым я боролся в течение нескольких дней. В скрипте у меня есть функция, которая получает 2 входных текста. Я выполняю эту функцию и у меня есть другая функция (на основе кнопки GPiozero), которая сбрасывает/перезапускает первую функцию. Все работает нормально, за исключением того, что каждый раз, когда я использую функцию сброса, она объединяет 2 необходимые функции ввода.

Мой вопрос заключается в том , есть ли способ при запуске функции сброса запустить поток с нуля, не имея завершающих операторов ввода.

 stop = False while not stop: resetbtn.when_pressed = reset  def reset():  t = threading.Thread(target = Sched,name = 'thread')  t.start()  def Sched():  schedloop = True   while schedloop:  del tno_array[:]  SchedLight.off()  TnoLight.off()   schedid = input(" Enter Schedule Number:")  cursor.execute('EXEC [dbo].[Mixing_Racking_GetSchedule] @Schedid ='   schedid)  row = cursor.fetchall()   if row:  print('Light 1 On')  SchedLight.on()    for i in row:  tno_array.append(i[2])  for i in tno_array:  print(i)  Tno()  break    else:  print("No Schedule Number Found ")   def Tno(): ticketloop = True while ticketloop:    tno = input("Enter Ticket Number:")  print('Tno: ' tno)    cursor.execute('SELECT * FROM palletweight where trash =0 and tno='   tno)  row = cursor.fetchall()  if row:    for i in row:  for a in tno_array:  if a == i[0]:  updatePalletweight(tno)  print ("Matching "   str(i[0])   " "   str(a))  TnoLight.on()  ticketloop = False  input("Press Reset Button")    else:  print("Ticket Doesn't Match Required List")    else:  print("No Ticket Number Found ")