【发布时间】:2015-02-21 02:21:21
【问题描述】:
我正在尝试使用以下代码在每分钟的前 45 秒内运行一个循环。但是,当我获得秒数时,该变量仅存储该确切时间的第二个值。如何让变量每秒不断更新?
我的代码:
i = time.strftime("%S")
print i
while i < 45:
...
【问题讨论】:
我正在尝试使用以下代码在每分钟的前 45 秒内运行一个循环。但是,当我获得秒数时,该变量仅存储该确切时间的第二个值。如何让变量每秒不断更新?
我的代码:
i = time.strftime("%S")
print i
while i < 45:
...
【问题讨论】:
如果您想连续循环打印每秒作为倒数计时器:
from datetime import timedelta,datetime
import time
while True:
if not datetime.now().second: # make sure we start first run at start of minute
t = timedelta(seconds=45)
while t:
t -= timedelta(seconds=1)
time.sleep(1)
print(t)
time.sleep(15) # sleep for 15 seconds before starting again
t = timedelta(seconds=45)
如果你不关心第一次开始时间,想数一数:
from datetime import datetime
import time
while True:
for sec in iter(lambda: datetime.now().second, 46):
print(sec)
time.sleep(1)
time.sleep(14) # sleep for 14 seconds before starting again
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
..............
【讨论】:
time.time() 将为您提供自午夜以来的秒数。
import time
current_time = time.time()
time.sleep(6) #Delay Deliberately
print time.time() - current_time
【讨论】:
不漂亮,但我让它按如下方式工作:
c = 1
while c < 2:
i = float( time.strftime("%S"))
while i < 30:
i = float(time.strftime("%S"))
【讨论】: