Задать вопрос
@TRXTSSA

Каким образом перезапустить файл после ошибки?

try/except (и finally) не подойдет, так как ошибка возникает в блоке except. Нужно чтобы файл (или код) полностью перезапускался после ошибки. Я слышал что-то о systemd и restart: on-failure в нем, но так и не понял как этой штуковиной пользоваться.
  • Вопрос задан
  • 158 просмотров
Подписаться Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Судя по systemd вы в линуксе? Значит у вас os.system(command) вернёт exit code, который при нормальном завершении равен нулю.

import os
 
while True:
    exit_code = os.system("python3 script.py")  # Возможно тут следует написать полные пути
    if exit_code == 0:
        print("success!")
        break
    print(f"exit_code is {exit_code}, will retry")

А systemd это уже ближе к администрированию целой системы. Это фоновые сервисы и задачи, и т. п.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы