使用 timeit 计算执行时间时获取"TypeError: 'module' is not callable"



我正在尝试计算我的python代码的时间,但我不断得到:

类型错误 - "模块"不可调用

import timeit
timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)

我正在检查的链接是这个 - https://docs.python.org/2/library/timeit.html

我希望看到代码运行所花费的时间。

您是否将文件命名为timeit.py

$ cat timeit.py
import timeit
timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
$ python3 timeit.py
Traceback (most recent call last):
File "timeit.py", line 1, in <module>
import timeit
File "/path/to/timeit.py", line 2, in <module>
timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
TypeError: 'module' object is not callable

您必须将文件重命名为其他名称(例如mytimeit.py(.
否则import将导入您的timeit而不是真正的timeit模块。

您可以使用print(timeit.__file__)检查import-ed 模块。

$ cat timeit.py
import timeit
print(timeit.__file__)
timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
$ pwd
/work/scratch
$ python timeit.py
/work/scratch/timeit.py
Traceback (most recent call last)
...

此外,如果您想查看">代码运行所花费的时间",则必须打印它。

$ mv timeit.py mytimeit.py
$ cat mytimeit.py
import timeit
print(timeit.__file__)
print(timeit.timeit('"-".join(str(n) for n in range(100))', number=10000))
$ python3 mytimeit.py 
/usr/lib/python3.6/timeit.py
0.1469665479962714

我们走吧!

import time

origin_time = time.time()

这样,您将从纪元获得当前时间(以秒为单位(

每当您想知道花费的时间时,只需写:

current_spent_time = time.time() - origin_time这将再次获取当前时间(以秒为单位(并减去前一个origin_time即代码开始运行的时间。

希望这有帮助!!

相关内容

  • 没有找到相关文章

最新更新