python - python时间计时器卡在零
问题描述
我正在尝试在 while 循环内的验证内启动一个计时器。
IE
if(foo):
start_time
我希望它打印增量时间,但它只打印零并即使在检查一次后仍继续计数。
代码:
warning_timer = 0
while True:
if warning_timer == 0:
start_time = time.time()
warning_timer = 1
elapsed_time = time.time() - start_time
print(time.strftime("%H:%M:%S", time.gmtime(elapsed_time)))
输出:
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
如何使用时间库打印出增量时间?
解决方案
计时器在每次循环迭代中都会重置,因此只需进行初始化就可以了。
import time
warning_timer = 0
if warning_timer == 0:
start_time = time.time()
while True:
elapsed_time = time.time() - start_time
print(time.strftime("%H:%M:%S", time.gmtime(elapsed_time)))
如果您需要在循环内多次使用启动计时器,问题是由于在开始和结束时间之间没有进行任何操作,因此不会显示经过的时间。你可以试试这个例子。
from random import randint
import time
warning_timer = 0
while True:
if warning_timer == 0:
start_time = time.time()
time.sleep(randint(1, 4))
elapsed_time = time.time() - start_time
print(time.strftime("%H:%M:%S", time.gmtime(elapsed_time)))
推荐阅读
- javascript - typescript 到 javascript 回调函数无法访问 typescript 全局变量
- scala - 如何修复 leetcode98 使用递归函数验证二叉搜索树?
- r - R是否在内部将数字视为双倍?
- c - 如何在 Clion/Cmake 中链接外部库?
- sql - 标准化实验组之间的结果
- git - Jenkins 无法签出 Git 存储库 - 主机密钥验证失败
- angular - 通过使用索引来替代 Angular ngfor?
- python - 如何直接从 FTP 读取 WAV 文件的标题而不用 Python 下载整个文件?
- sql - 如何在 Postgresql 数据库的一列中制作一组 id?
- swift - 如何将变量从按钮操作函数拉到另一个视图控制器类?