TypeError при создании CodeType в Python 3

Я пытаюсь создать новый CodeType, следующий код отлично работает в Python 2.7, но в Python 3.2 я получить ошибку:

def newCode(co_argcount = 0, co_nlocals = 0, co_stacksize = 0, co_flags = 0x0000,
            co_code = bytes(), co_consts = (), co_names = (), co_varnames = (),
            filename = "<string>", name = "", firstlineno = 0, co_lnotab = bytes(),
            co_freevars = (), co_cellvars = ()):
    """wrapper for CodeType so that we can remember the synatax"""
    print(type(co_stacksize))
    return types.CodeType(co_argcount, co_nlocals, co_stacksize,
                          co_flags, co_code, co_consts, co_names, co_varnames,
                          filename, name, firstlineno, co_lnotab, co_freevars, co_cellvars)

Использование:

return newCode(co_code = code, co_stacksize = size, co_consts = consts)

Строка отладки доказывает, что я отправляю int как co_stacksize... что изменилось в Python 3, чтобы это не работало?

Редактировать: Вот ошибка (не знаю, почему я забыл это раньше):

TypeError: требуется целое число

5
задан Timothy Baldridge 12 April 2012 в 03:36
поделиться