Вопросы по теме 'python-c-api'

Создайте экземпляр класса python, объявленный в python, с помощью C API
Я хочу создать экземпляр класса Python, определенного в области __main__ , с помощью C API. Например, класс называется MyClass и определяется следующим образом: class MyClass: def __init__(self): pass Тип класса находится в...
4253 просмотров
schedule 25.03.2022

Как передать флаг в gcc в скрипте Python setup.py?
Я пишу расширение Python на C, для которого требуется инфраструктура CoreFoundation (среди прочего). Это прекрасно компилируется с: gcc -o foo foo.c -framework CoreFoundation -framework Python («-framework» — это расширение gcc только для...
18589 просмотров
schedule 11.10.2022

Существуют ли какие-либо проблемы с подсчетом ссылок/сборкой мусора Python при работе с кодом C?
Просто ради удовольствия я решил создать привязку схемы к libpython , чтобы вы могли встраивать Python в программах Scheme. Я уже могу обращаться к Python C API, но на самом деле я не думал об управлении памятью. Принцип работы FFI mzscheme...
2194 просмотров

Python (и Python C API): __new__ против __init__
Вопрос, который я собираюсь задать, кажется дубликатом использования Python __new__ и __init__ ? , но, тем не менее, мне все еще непонятно, в чем практическая разница между __new__ и __init__ . Прежде чем вы поспешите сказать мне, что __new__...
32653 просмотров
schedule 17.05.2022

Метод __getitem__ с аргументом кортежа с использованием Python C-API
Можно ли определить класс с __getitem__ , который принимает аргумент tuple , используя Python C-API? Член sq_item члена tp_as_sequence члена PyTypeObject должен быть ssizeargfunc , поэтому я не понимаю, как это сделать. (Но я предполагаю,...
749 просмотров
schedule 29.03.2023

Пауза/возобновление встроенного интерпретатора Python
Есть ли возможность приостановить/возобновить работу встроенного интерпретатора python на том месте, где мне нужно? Например: Часть псевдокода С++: main() { script = "python_script.py"; ... RunScript(script); //-- python script...
1067 просмотров
schedule 11.01.2023

Python C API Как передать массив структур из C в Python
Для модуля python, который я создаю, я хочу передать пользователю python массив таких структур: struct tcpstat { inet_prefix local; inet_prefix remote; int lport; int rport; int state; int rq, wq; int...
2588 просмотров
schedule 29.03.2022

Как преобразовать список Boost Python в PyObject
Мне нужно создать массив numpy в программе C++ bp::list py_points; // some code .... и в какой-то части кода мне нужно преобразовать py_points в тип PyObject * для оценки модуля python PyObject * point_array, * numpy, * ndarray; numpy =...
2110 просмотров
schedule 14.05.2022

Необработанное исключение в multiarray.pyd при втором запуске программы
Я делаю плагин .dll на С++ и встраиваю в него python 2.7. Все работало нормально с простыми программами .py, пока я не импортировал большую программу. Самое странное, что в первый раз программа запускается без проблем, а во второй раз возникает...
1497 просмотров
schedule 06.07.2023

Как передать кортеж объектов среза в C через API python-C
У меня есть класс 2d-матрицы в c, который я использую в python. Я хочу иметь возможность вызывать матричный класс, передавая кортеж объектов среза, например, A[1:2,1:2]. Пока что имею следующее. Соответствующий код C для метода __getitem__...
1020 просмотров
schedule 18.05.2024

Как я могу получить информацию об исключении после того, как вызов PyRun_String() возвращает NULL?
Я пытаюсь запустить следующий код: Py_Initialize(); PyObject *py_main = PyImport_AddModule("__main__"); PyObject *py_dict = PyModule_GetDict(py_main); PyObject *ret = PyRun_String(SOME_PYTHON_CODE, Py_file_input, py_dict, py_dict); Но...
1638 просмотров
schedule 05.06.2023

Принудительное преобразование типов с использованием Python C-API
Мне интересно, можно ли использовать Python C-API для преобразования, например. Float -> String или Bool -> Int или Int -> Bool и т. д. Не всякое преобразование имеет смысл, например Dict -> List — трудно представить, как это будет выглядеть....
204 просмотров
schedule 26.09.2022

Альтернативы слитного типа в cython
Я работаю над переписыванием модуля Python, изначально написанного на C, с использованием API Python-C для Cython. Модуль также использует NumPy. Основная задача проекта — поддерживать текущую скорость модуля, а также он должен работать для всех...
1144 просмотров
schedule 24.06.2022

Странное поведение при вызове функций python из cython c
У меня есть код C++, код Python и код Cython. В C++ у меня есть асинхронный обратный вызов, который выполняется, и я хочу, чтобы код Python выполнялся. Вот что я сделал. На питоне я написал функцию, которая принимала 2 параметра: def...
349 просмотров
schedule 12.09.2022

Python 3: проблемы со строками Python/C API
Я пытаюсь использовать API Python/C для запуска функции Python, которая возвращает строку. Я хочу сохранить эту возвращаемую строку в переменной C++, но не могу заставить ее работать. Я использую Python 3, и похоже, что метод PyString_FromString()...
2573 просмотров
schedule 14.04.2023

PYCFunctionWithKeywords неправильно вызывается из python
Я пытаюсь написать модуль C-расширения для python3, скажем, foo , и я пытаюсь определить метод, который может принимать аргументы ключевого слова. static PyObject* fooImpl(PyObject*, PyObject*, PyObject*); static PyObject* fooImpl2(PyObject,...
334 просмотров

Python C Api передает PyObject * в массив c
Я использовал python c api и хочу вернуть массив из python. Я вернул массив python со стороны python и хочу передать результат PyObject* в массив c, чтобы я мог его использовать. В любом случае я могу это сделать? Побочные вопросы: в каких...
3086 просмотров
schedule 29.11.2022

Запуск файла с аргументами из python, встроенного в c
В настоящее время я работаю над проектом, в котором используется исходный файл C, который должен взаимодействовать с файлом python (запускать файл и записывать вывод), и я не совсем уверен, как это сделать. в настоящее время файл python запускается...
200 просмотров
schedule 25.09.2022

Python: расширение C++, возвращающее несколько значений
Я пишу расширение С++ для скрипта Python и хочу вернуть несколько значений, например то, что мы можем сделать в функции Python. Простой пример в питоне: def test(): return 0,0 tuple кажется наиболее близким ответом #include...
659 просмотров

Сомнения в том, как сделать c-оболочку для python с помощью SWIG
Контекст У меня есть функция, реализованная в c, которую я хотел бы протестировать в среде python. После некоторых прочтений я решил использовать инструмент SWIG. Я только что сделал простой пример, представленный здесь , но я все еще теряюсь в...
33 просмотров
schedule 11.02.2023