timeit.timeit
当我在作为字符串传递的语句参数中有异常时,我似乎无法开始工作:
# after the first and third semicolon, I put 4 spaces
timeit.timeit('try:; a=1;except:; pass')
这导致:
Traceback (most recent call last):
File "a.py", line 48, in <module>
timeit.timeit('try:; a=1;except:; pass')
File "C:\CPython33\lib\timeit.py", line 230, in timeit
return Timer(stmt, setup, timer).timeit(number)
File "C:\CPython33\lib\timeit.py", line 136, in __init__
code = compile(src, dummy_src_name, "exec")
File "<timeit-src>", line 6
try:; a=1;except:; pass
^
SyntaxError: invalid syntax
我正在使用 Python 3.3 运行它,但即使使用旧的 Python (3.2) 也会发生同样的错误。
更新:
我正在关注此文档(强调我的):
类 timeit.Timer(stmt='pass', setup='pass', timer=)
小代码片段的计时执行速度类。
构造函数采用要计时的语句、用于设置的附加语句和计时器函数。两个语句都默认为“通过”;计时器功能是平台相关的(参见模块文档字符串)。stmt 和 setup 也可能包含多个语句,用 ; 分隔。或换行符,只要它们不包含多行字符串文字。