loops - 在每n 秒的循环中,python 打印一些东西

  显示原文与译文双语对照的内容

我有一个循环,它迭代一个数字并执行一些简单的计算。 i 在循环期间,我想知道如何将( 或者记录到文件)的当前值输出为'瓦尔'秒 out having暂停或者休眠。 下面是一个 super 简单示例


val_list = []



for i in xrange(iterations):


 val = (i*(1/2)) * pi


 val2 = np.linalg.pinv(val)


 # print or write to log val2 after every half second (or 1 second)


 val_list.append(val2)



时间: 原作者:

只需使用 time.time 来捕获在开始之前的时间,然后检查你计算:之后的时间。


import time



val_list = []



prev_time = time.time()



for i in xrange(iterations):


 val = (i*(1/2)) * pi


 val2 = np.linalg.pinv(val)


 # print or write to log val2 after every half second (or 1 second)


 dt = time.time() - prev_time


 if dt> 1:


 # print or write to log here


 prev_time = time.time() 


 val_list.append(val2)



原作者:

你可以使用 time.time():


from time import time as t


val_list = []


nowTime = t()


for i in xrange(iterations):


 val = (i*(1/2)) * pi


 val2 = np.linalg.pinv(val)


 curTime = t()


 if curTime - nowTime> = 0.5:


 #Do your stuff


 nowTime = curTime


 val_list.append(val2)



你可以使用线程实现这一点。

以下是有关如何使用线程的文档: 如果你正在使用 ,则将url中的3改为 2 ( )

下面是一个与你想要的链接类似的链接,并将你指向正确的direction: python threading.timer 重复功能每'n'第二次。

基本上你必须创建一个只在n 秒钟内执行的线程。 在每次迭代中,它将打印值。 这个 上面 链接应该足够了。 祝你好运

原作者:
...