我想測量以下代碼的執行速度:Timeit,NameError:未定義全局名稱。但我沒有使用全局變量
def pe1():
l = []
for i in range(1000):
if i%3 == 0 or i%5 == 0:
l.append(i)
print sum(l)
我存儲在pe1m.py此代碼。 現在我想用python解釋器測試文件的速度。我所做的:
import timeit
import pe1m
t = timeit.Timer(stmt = 'pe1m.pe1()')
t.timeit()
,但我得到:
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/timeit.py", line 195, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'pe1m' is not defined
但我沒有任何全局變量。
當您導入模塊,有一種說法:進口pe1m其中,恕我直言,是其他模塊一個錯字。 – hjpotter92 2012-04-12 22:15:45
[使用Python的timeit獲取「全局名稱'foo'未定義的可能的副本](https://stackoverflow.com/questions/551797/getting-global-name-foo-is-not-defined-with-pythons -timeit) – sds 2017-09-20 16:21:48