Я пишу модуль Python с использованием API расширения C и пытаюсь передать длинную переменную из Python в функцию C, а затем из нее получают исходный PyLongObject, используемый для представления этой переменной.PyArg_Parse возвращающий объект кадра вместо PyLongObject
Я использую функцию PyArg_Parse для синтаксического анализа переменной в необработанном C-указателе. Я ожидаю, что PyObject вернется к типу PyLongObject, однако всякий раз, когда я проверяю значение typemame для проанализированного объекта, он всегда имеет тип 'frame'? Что мне не хватает?
static PyObject* test(PyObject *self, PyObject *args)
{
PyObject *num;
if(!PyArg_Parse(args, "0", &num))
{
//ERROR YO
}
printf("\n%s\n", num->ob_type->tp_name);
Py_RETURN_NONE;
}
Ах! Спасибо! Оказалось, что я неправильно читал документацию 'O (object) [PyObject *]' был 0, а не O. Правильно обработав мои ошибки вместо лени, я понял это, спасибо! – ali2992