Например, у меня есть эта функция:Завершить функцию Python через определенное время?
some_global_varible = ""
def bob(some_argument, some_more):
import time
for x in range(10):
print("Working")
time.sleep(1)
return "I finished and this is my result"
Как я могу запустить эту функцию для определенного количества времени, и если он не кончает в то время закончить. Но также, если он завершит получение результата возврата (если он один, потому что, возможно, его нет, и он просто заканчивается).
Также это не будет работать в Unix, потому что я видел пример Unix, который не работает в Windows. Также, если вы могли бы изменить форму глобальной переменной внутри функции, она была бы идеальной, но это было бы дополнительно.
Прежде всего, если это возможно (если невозможно обнаружить конец без возврата, это не имеет значения, я могу включить возврат только от этого. Например: return «Это только для окончания»)
EDIT: Функция «bob» - пример функции, которая занимает 10 секунд, но план заключается в использовании ее на других функциях, которые могут принимать неопределенное количество времени. И эта функция не может быть отредактирована, чтобы добавить просто что-то, чтобы остановить ее через несколько секунд.
Лучшим примером может быть «pep», поскольку он не закончится сам по себе.
def pep():
import time
while True:
print("Working")
time.sleep(1)
Я не могу редактировать функцию. Функция «bob» была только примером, я не буду использовать ее. – Robotit