Python中for循环迭代之间的延迟

12 投票
3 回答
41665 浏览
提问于 2025-04-18 03:36

在Python中,像这样做可能吗?我写了一个很棒的循环/脚本,如果可以的话,我想在其中添加这个延迟。

map(firefox.open, ['http://www.bing.com/search?q=' + str(i) for i in range(x))], [2] * x)

我应该把sleep(6)放在哪里呢?

3 个回答

0

是的,在Python中这是可能的,你可以使用'time'模块:

     >>> import time
     >>> list1=[1,2,3,4,5,6,7,8,9,10]
     >>> for i in list1:
         time.sleep(1)#sleep for 1 second 
         print i

输出结果:

  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
1

或者,如果你想让它从1开始,并模拟一个秒表:

import time
def count_to(number):
    for i in range(number):
        time.sleep(1)
        i += 1
        if i >= number:
            print('Time is up')
            break
    print(i)
25

你可以使用 time.sleep(some_seconds) 来实现这个功能。

from time import sleep

for i in range(10):
    print i
    sleep(0.5)    #in seconds

实现方法

这里有一个很酷的实现示例:(把它粘贴到一个 .py 文件里,然后运行它)

from time import sleep

for i in range(101):
    print '\r'+str(i)+'% completed',
    time.sleep(0.1)

map(firefox.open, ['http://www.bing.com/search?q=' + str(i) for i in range(x))], [2] * x)

撰写回答