Использование точки с запятой внутри timeit

Я не могу заставить 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 
    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 "", 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 также могут содержать несколько операторов, разделенных от ; или новые строки, если они не содержат многострочную строку -литералы.

9
задан max 24 April 2012 в 16:38
поделиться