gpt4 book ai didi

python - 不使用 Tk python 创建秒表(不是倒计时或计时器)

转载 作者:行者123 更新时间:2023-12-01 04:55:00 24 4
gpt4 key购买 nike

我正在尝试为我的模块制作秒表功能。就是记录我的模块被调用导入的时间到完全导入的时间。我试图记录这一点的原因是因为我的模块需要永远加载(因为它需要编译来自外部源的数据并将这些数据合并到列表中)。永远是90秒左右。我查过类似的问题,但它只是关于创建倒计时或计时器。我对很多选择持开放态度,只要它们利用 python 的内置模块即可。如果已经有这样的东西,如果你能告诉我那就太好了。提前致谢!

如果您需要更多信息,请发表评论,我会回复您。 :)

编辑:

考虑到 MeetTitan 的回答,我做了这个测试函数来尝试一下:

def f():
import time
starttime = time.time()
import tms # This is my module that takes forever to load
print("Time Taken {}".format(int(time.clock() - starttime)))

>>> f()
Loading module. This may take up to 60 seconds.
Time taken -1419389848 # What does this mean?

Python 文档中的内容如下:

时间.时钟()

在 Unix 上,以秒为单位的 float 返回当前处理器时间。精度,实际上是“处理器时间”含义的定义,取决于同名的 C 函数的精度,但无论如何,这是用于对 Python 或计时算法进行基准测试的函数。

时间.time()

以 float 形式返回自纪元以来的时间(以秒为单位)。请注意,尽管时间始终以 float 形式返回,但并非所有系统都提供比 1 秒更好的时间精度。虽然此函数通常返回不递减的值,但如果系统时钟在两次调用之间被调回,则它可能返回比前一次调用更低的值。

输出数字应该是负数吗?实际花费的时间是多少?如果我问了太多问题,我很抱歉...

编辑:

我明白了。

def f():
import time
start time = time.time()
import tms
print("Time taken {}".format(int(time.clock() - starttime)))

现在,这是我的最后一期。如何将其集成到现有代码中,以便当我输入以下内容时:

>>> import tms
Loading module. This may take up to 60 seconds. # after 30 seconds...
Time taken 31.49 seconds

这是我的代码的开头:

import os, sys, time

# Does the code go somewhere here? How would I implement it?

print("Loading module. This may take up to 60 seconds.

tmlist = []
alltmlist = []
gen1tmlist = []
gen2tmlist = []

我提出了一个后续问题,希望我的“想法”能更有效地得到表达。点击here .

最佳答案

如果您想要为片段计时,那么 time.time() 方法就是您所需要的。试试这个:

startTime = time.time()
#long running code here
print "Time taken {}".format(time.time() - startTime)

另请查看timeit .

如果您想要真正的倒计时,您可以尝试休眠 n 秒,直到达到 90 秒,如下所示:

timeTotal = 0
timeResolution = 0.5
waitUntil = 90
while timeTotal < waitUntil:
time.sleep(timeResolution)
timeTotal += timeResolution
print "\r{} seconds left".format(waitUntil - timeTotal),

关于python - 不使用 Tk python 创建秒表(不是倒计时或计时器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com