Python сон, не мешая скрипту?

Эй, мне нужно знать, как спать на Python, не мешая текущему сценарию. Я пробовал использовать time.sleep() но он time.sleep() весь скрипт.

Как, например,

 import time def func1(): func2() print("Do stuff here") def func2(): time.sleep(10) print("Do more stuff here") 

import time def func1(): func2() print("Do stuff here") def func2(): time.sleep(10) print("Do more stuff here")

func1 ()
Я хочу, чтобы он сразу же распечатал здесь материал, затем подождите 10 секунд и распечатайте здесь больше.

    Интерпретируя свое описание буквально, вам нужно поставить оператор печати перед вызовом func2() .

    Тем не менее, я предполагаю, что вы действительно хотите для func2() для фоновой задачи, которая позволяет func1() немедленно возвращаться и не дождаться func2() чтобы завершить его выполнение. Для этого вам нужно создать поток для запуска func2() .

     import time import threading def func1(): t = threading.Thread(target=func2) t.start() print("Do stuff here") def func2(): time.sleep(10) print("Do more stuff here") func1() print("func1 has returned") 

    Вы можете использовать threading.Timer :

     from __future__ import print_function from threading import Timer def func1(): func2() print("Do stuff here") def func2(): Timer(10, print, ["Do more stuff here"]).start() func1() 

    Но поскольку @unholysampler уже указал, что было бы лучше просто написать:

     import time def func1(): print("Do stuff here") func2() def func2(): time.sleep(10) print("Do more stuff here") func1() 

    Если вы запускаете свой скрипт в командной строке, попробуйте использовать параметр -u . Он запускает скрипт в небуферизованном режиме и делает трюк для меня.

    Например:

    python -u my_script.py