У меня цикл работает довольно долго (несколько часов).Может случиться так, что пользователь, просматривая текущие результаты, считает итерации выполнения достаточными, а затем хочет остановить цикл до его естественного завершения, но без прерывания всей программы (без «Ctrl + C»), так как некоторая обработка окончательных результатовявляется необходимым.
Для этого я добавил возможность создания определенного файла остановки в рабочем каталоге.В каждом цикле код проверяет, существует ли этот файл, и, если это так, завершает цикл.Я не знаю, является ли это решение эффективным и существуют ли лучшие решения.
Пример
i = 0
while i < 1000 and not(path.isfile(path.join(self.wrkdir,'stop'))) :
DoSomeStuff
i += 1
FinalizingStuff