Как получить и обработать строку в функции модуля Python?

226
02 мая 2018, 05:08

Нужно писать модуль для python на c++. Хочу передать из пайтона в функцию строковый аргумент, как-то изменить ее, например добавив "!", и вернуть обратно измененную строку. Находил функцию PyString_AsString, которая в 3 пайтоне исчезла и появилась куча функций PyUnicode API. Как им воспользоваться?

PyObject* get_and_send_string(PyObject *, PyObject* o) {
    char * magicstring = Искомая_функция();
    /*Какие-то возможные операции со строкой
    ...
    ...*/
    PyObject *outString = Py_BuildValue("s", magicstring);
    return outString;
}
Answer 1
char* magicstring;
if (!PyArg_ParseTuple(o, "s",  &magicstring)) {
    return NULL;
}

Соответствующий раздел документации.

READ ALSO
Напишите программу на C++ или C [требует правки]

Напишите программу на C++ или C [требует правки]

Напишите программу, которая считывает произвольное количество чисел до стоп-слова "STOP" и выводит, сколько раз среди них встречается первое...

243
Модули AMD не видят подключаемые плагины

Модули AMD не видят подключаемые плагины

Использую Gulp для сборки проекта и RequireJS для сборки AMD модулейВот из gulpfile

229
Не работает условный оператор “или ||”

Не работает условный оператор “или ||”

У меня условия или проваливаются

259
Зачем библиотеки обертывают в (function() {…})()?

Зачем библиотеки обертывают в (function() {…})()?

Зачем библиотеки обертывают в (function() {

235