Я хочу, чтобы он запускал первую строку print 1, затем подождал 1 секунду, чтобы запустить вторую команду print 2 и т.д.
Псевдо-код:
print 1
wait(1 seconds)
print 2
wait(0.45 seconds)
print 3
wait(3 seconds)
print 4
Я хочу, чтобы он запускал первую строку print 1, затем подождал 1 секунду, чтобы запустить вторую команду print 2 и т.д.
Псевдо-код:
print 1
wait(1 seconds)
print 2
wait(0.45 seconds)
print 3
wait(3 seconds)
print 4
import time
print 1
time.sleep(1)
print 2
time.sleep(0.45)
print 3
time.sleep(3)
print 4
Все ответы предполагают, что вы хотите или можете вручную вставить time.sleep
после каждой строки, но, возможно, вам нужен автоматический способ сделать это для большого количества строк кода, например. рассмотрите этот код
def func1():
print "func1 1",time.time()
print "func1 2",time.time()
def func2():
print "func2 1",time.time()
print "func2 2",time.time()
def main():
print 1,time.time()
print 2,time.time()
func1()
func2()
Если вы хотите отложить выполнение каждой строки, либо вы можете вручную вставить time.sleep
перед каждой строкой, которая является громоздкой и подверженной ошибкам, вместо этого вы можете использовать sys.settrace
для вызова вашей собственной функции перед каждой строкой и в этом обратном вызове вы можете отложить выполнение, поэтому без ручного ввода time.sleep
в каждом месте и засорения кода вы можете сделать это вместо
import sys
import time
def func1():
print "func1 1",time.time()
print "func1 2",time.time()
def func2():
print "func2 1",time.time()
print "func2 2",time.time()
def main():
print 1,time.time()
print 2,time.time()
func1()
func2()
def mytrace(frame, event, arg):
if event == "line":
time.sleep(1)
return mytrace
sys.settrace(mytrace)
main()
Без вывода трассировки:
1 1280032100.88
2 1280032100.88
func1 1 1280032100.88
func1 2 1280032100.88
func2 1 1280032100.88
func2 2 1280032100.88
С выходом трассировки:
1 1280032131.27
2 1280032132.27
func1 1 1280032134.27
func1 2 1280032135.27
func2 1 1280032137.27
func2 2 1280032138.27
Вы можете дополнительно настроить его в соответствии с вашими потребностями, может также проверять содержимое строки, и, самое главное, это очень легко отключить и будет работать с любым кодом.
import time
# ...
time.sleep(1)