ImportError:无法导入名称错误

时间:2016-09-02 11:18:08

标签: python timeit

我有一个非常简单的测试功能,我需要使用' 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错误==============

你们可以帮我解决一下吗?

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附加数字到列表所需的时间。