我有一个非常简单的测试功能,我需要使用' timeit'来捕获它的执行时间。模块,但我收到错误
功能:
import timeit
def test1():
l = []
for i in range(1000):
l = l + [i]
t1 = timeit.Timer("test1()", "from __main__ import test1")
print(t1.timeit(number=1000))
错误:C:\ Python34 \ lib \ timeit.py:186:in timeit timing = self.inner(it,self.timer):3:内在??? Ë
ImportError:无法导入名称' test1' =========== 0.03秒内出现1错误==============
你们可以帮我解决一下吗?
答案 0 :(得分:1)
我认为您的代码存在一些问题。首先要确保您可以导入timeit。你有它作为一个模块。为此,您可以运行:
python -m timeit '"-".join(str(n) for n in range(100))'
如果它执行正常,那么你肯定有timeit模块。
现在关于你的问题。我冒昧地以更清洁的方式重写它。
import timeit
def append_list():
num_list = []
for i in range(1000):
num_list.append(i)
print(timeit.timeit(stmt=append_list, number=1000)) #number is the number of repetion of the operation, in this case, 1000
# you can also run
print(timeit.timeit(stmt=append_list, number=1))
现在,上面可能会做你想做的事情,即计算从1到1000附加数字到列表所需的时间。