有没有办法在python中执行代码一段时间

时间:2015-10-06 19:59:32

标签: python

例如30秒后显示3x3网格,然后在30秒后打印新网格。我尝试使用time.sleep但它不起作用。我还是python btw的初学者。

像我尝试的那样:

print(grid)
time.sleep(30)
print(grid2)

1 个答案:

答案 0 :(得分:0)

  

30秒显示...

这听起来是在时间范围内执行的任务,请看一下:

import datetime as d
import time

def task():
    print "printing grid 3x3..."

#30 seconds from now
END_TIME = d.datetime.now() + d.timedelta(seconds=30)

while d.datetime.now() < END_TIME:
    task()
    time.sleep(1)

# after 30s
print "after 30s..."

当然,还有另一种方式:

seconds, count = 30, 0

while count <= seconds:
    print count, "- ", 
    task()
    time.sleep(1);
    count += 1

print "after 30s..."

但是,使用日期时间可以将脚本设置为在特定日期的小时,天或计划中执行。