Вот структура функции.
def my_main():
......
function_a()
function_b()
....
def function_a():
....
time_diff = datetime.datetime.now() - last_execution_time
if time_diff.seconds > N:
task_a
last_execution_time = datetime.datetime.now()
my_main продолжает работать непрерывно и, если определенное условие удовлетворяет, запускает task_a
в function_a
. Я хочу выполнить task_a
, скажем, только после N секунд его предыдущего выполнения, если он срабатывает до N секунд, он должен пройти беззвучно.
Основа c logi c состоит в том, чтобы поддерживать константу, которая продолжает измерять время, когда task_a была ранее выполнена, но из-за проблемы с областью видимости, когда выполнение переходит в main, переменная last_execution_time теряет свое значение, Кроме того, как вы инициализируете его в первый раз?