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

Python c-api и строки Unicode
Мне нужно преобразовать между объектами python и строками c различных кодировок. Переход от строки c к объекту unicode был довольно простым с использованием PyUnicode_Decode, однако я не уверен, как пойти другим путем. //char* can be a wchar_t or...
2908 просмотров
schedule 05.03.2023

Статические переменные в Python C API
Как можно было бы выставить «статические» переменные, подобные этому class MyClass: X = 1 Y = 2 через C API? Единственная переменная в PyTypeObject, которая, похоже, будет работать, — это tp_members, но я не вижу флага в PyMemberDef,...
1394 просмотров
schedule 28.12.2022

Передача прокси-объекта SWIG в качестве входных данных для PIL.Image.frombuffer
Я использую макрос SWIG array_class , определенный в carrays.i, для создания беззнакового буфера char, который можно отправить на сторону C++ моего проекта, которая обрабатывает снимки. Это работает нормально — буфер заполняется данными ширины после...
607 просмотров

Как получить char* из PyObject, который указывает на строку
Как я могу получить char* из PyObject , который указывает на строку. Например, это скрипт на питоне, Test.Connect("272.22.20.65", 1234) а это код С++, static PyObject* Connect(PyObject *self, PyObject *args) { PyObject* pIP;...
7110 просмотров
schedule 10.12.2022

Обратный вызов Python из SWIG PyObject_Call Segfault
У меня есть виджет wx.py.Shell.shell, который позволяет пользователю выполнять код Python, взаимодействующий с моей программой. Я хочу иметь возможность передать функцию, которую пользователь определяет в этом пространстве, в мой код C++ (через...
2381 просмотров
schedule 15.06.2023

Разрешение Ctrl-C прерывать C-расширение Python
Я запускаю вычислительно тяжелое моделирование в (самодельных) расширениях python на основе C. Иногда я ошибаюсь и хочу прервать симуляцию. Однако Ctrl-C, похоже, не имеет никакого эффекта (кроме печати ^C на экране), поэтому я должен убить...
4233 просмотров
schedule 21.06.2022

Оберните библиотеку c только с помощью python
Мне предоставили библиотеку c wave.so с определенной функцией интерфейса, я следую руководству здесь https://stackoverflow.com/a/5868051/2789784 и это работает. Однако, когда я сделал скрипт файлом MyModule.py и попытался импортировать...
293 просмотров
schedule 18.02.2024

фатальная ошибка: Python.h: нет такого файла или каталога
Я пытаюсь создать общую библиотеку с использованием файла расширения C, но сначала мне нужно сгенерировать выходной файл, используя следующую команду: gcc -Wall utilsmodule.c -o Utilc После выполнения команды я получаю сообщение об ошибке:...
1196054 просмотров
schedule 27.09.2023

Невозможно вызвать пользовательский модуль с помощью Python/C API
Структура файла: Foo/ list.so main.cpp list.cpp boost_wrapper.cpp main.cpp код: #include <Python.h> #include "list.cpp" int main(int argc, char *argv[]){ PyObject *pimport;...
155 просмотров
schedule 28.10.2022

чтение глобальной переменной python в c
Я пытаюсь научиться правильно использовать API Python/C - все, что мне действительно нужно сделать, это прочитать глобальную переменную (в моем случае словарь, но я начинаю с простой целочисленной переменной). Используя обсуждение: Как получить...
1832 просмотров
schedule 09.10.2022

Импорт класса в подпакет Python импортирует больше, чем запрошено
Обзор Я запускаю некоторые научные симуляции и хочу обработать полученные данные в Python. Моделирование создает пользовательский тип данных, который не используется за пределами цепочки программ, созданных авторами моделирования, поэтому, к...
335 просмотров

Как работает преобразование строк между строкой PyUnicode и строкой C?
У меня есть объект PyUnicode, который я пытаюсь преобразовать обратно в строку C (char *). То, как я пытаюсь это сделать, похоже, не работает. Вот мой код: PyObject * objectCompName = PyTuple_GET_ITEM(compTuple, (Py_ssize_t) 0); PyObject *...
4706 просмотров

C-numpy: установка типа данных для строк фиксированной ширины?
Я работаю с некоторыми данными, которые представлены в C в виде строк. Я хотел бы вернуть массив numpy на основе этих данных. Однако я бы хотел, чтобы массив имел dtype='SX', где X — число, определяемое во время выполнения. Пока я копирую данные...
421 просмотров
schedule 05.09.2023

Можно ли преобразовать dtype матрицы scipy CSR в NPY_FLOAT?
У меня есть матрица scipy CSR, которая была построена из матрицы COO следующим образом: coord_mat = coo_matrix((data, (row, col)), dtype=np.float64) Он используется в качестве входных данных для библиотеки с базовой реализацией C, и я считаю,...
1408 просмотров
schedule 07.03.2023

Как включить __build_class__ при создании модуля в Python C API
Я пытаюсь использовать Python 3.5 C API для выполнения некоторого кода, который включает создание учебный класс. В частности это: class MyClass: def test(self): print('test') MyClass().test() Проблема у меня в том, что это...
518 просмотров
schedule 14.03.2023

PyUnicode_FromFormat со строками (не в юникоде)
Я пытаюсь создать функцию представления для класса и хочу, чтобы она была совместима с python-2.x и python-3.x. Однако я заметил, что обычные строки при передаче в PyUnicode_FromFormat поскольку %U будет segfault. Единственный жизнеспособный...
466 просмотров
schedule 19.02.2024

Вызов scipy из расширения C
Я хотел бы загрузить один из scipy-модулей (scipy.linalg) внутри функции, которая экспортируется из расширения python, написанного на C++, чтобы затем вызвать из него функцию. Было бы лучше, если бы пользователю не нужно было заранее загружать модуль...
148 просмотров
schedule 24.02.2023

Ошибка подмодуля Python C-extension: нет модуля с именем x
У меня возникли трудности с созданием C-расширения в качестве подмодуля в моем коде. Приведенное ниже расширение C компилируется просто отлично. Проблема возникает, когда я пытаюсь добавить его в другой модуль. Вот код C: Имя файла prctl3-0.c. Я...
1001 просмотров

Не удается убить многопроцессорный пул в многопоточном приложении C, встраивающем Python
ОС: Linux Версия Python: 3.6 Я пытаюсь расширить приложение C с помощью среды выполнения Python. Приложение C использует pthread , а я пытался использовать multiprocessing forkserver в среде выполнения Python, но столкнулся с проблемой....
316 просмотров

Расширение Python C — утечки памяти
Я относительно новичок в Python, и это моя первая попытка написать расширение для C. Предыстория В моем проекте Python 3.X мне нужно загружать и анализировать большие двоичные файлы (10–100 МБ) для извлечения данных для дальнейшей обработки....
177 просмотров