Есть ли возможность вернуться после возникновения ошибки в цикл outtest с помощью try-exc? - PullRequest
1 голос
/ 06 мая 2019

У меня есть задача измерить время между двумя версиями кода, после того, как он был выполнен сто раз.Программа фактически прерывает в точке.Это чья-то задача исправить это.Итак, что я уже сделал, я вызвал программу из другого сценария в цикле for.Но после возникшей ошибки (FileNotFoundError) я не нашел способа вернуться к самому последнему циклу, чтобы снова запустить его.

Я уже поставил точку, в которой произошла ошибка,пробная часть, но я не знаю, что добавить, кроме части.Конечно, я могу поставить везде, в каждой используемой функции, «возврат», чтобы оказаться в цикле Outtest.Есть ли способ намного проще, чем этот?

with open('bla-program.py') as f:
    script = f.read()
    z = np.arange(0, 100, 1)
    a = time.time()

for i in z:
    exec(script)  ### now, that's the point, I cannot reach again

b=time.time()
print(a, b, "difference", b-a)

\ теперь вызывая различные функции, вычисляя некоторые вещи, ... следует, отображается посадка в другом файле, управляемом bla-программой, где происходит ошибканиже

try:
    os.mkdir(os.path.join(bla.blabla, "bladibla.org"))
except FileNotFoundError:
    return  ###on this point, I want to return to the point displayed above

Вместо завершения запуска FileNotFoundError, я хочу запустить программу сто раз до точки ошибки.

1 Ответ

0 голосов
/ 06 мая 2019

Вы должны поставить try/except вокруг exec(script):

for i in z:
    try:
        exec(script)
    except:
        # Print an error message or whatever
...