Я очень новичок в идее встраивания Python в C++. Я столкнулся со следующей проблемой:
Я следую документации и могу преобразовать свои строковые данные в объект python, а затем вызвать функцию Python, используя код, похожий на:
const char* blu = "1,2,3,4,5,6,7,8,9" ;
//converting to python object :
args = Py_BuildValue("(s)", blu);
if (!args)
{
PyErr_Print();
Py_DECREF(filterFunc);
qDebug()<< "Error building args tuple";
}
resultObj = PyObject_CallObject(filterFunc, args);
Я также могу распечатать строку из консоли python. Я бы предположил, что данные передаются на сторону Python. Тип (строка) в питоне возвращает «тип str». Моя проблема связана с кодом на стороне Python:
import numpy as np
def attoMainFunction2(Image1, Apod = 0, Z_PadInput = 0, requiredpaddingPTR = 0,FLAGInterferogramCalibration = 0, InterferogramCorrFactorinput = 0):
stringPassedFromC = np.fromstring(Image1,dtype=int,sep=',')
# Further Operations with the Array.Not yet implemented.
# return the results as a string cout.
cout = "0"
return cout
Я получаю следующую ошибку:
File "/Users/devas/PycharmProjects/Vis/MainFile.py", line 260, in attoMainFunction2
np.fromstring(Image1,dtype=int,sep=',')
AttributeError: 'NoneType' object has no attribute 'fromstring'
Error invoking 'filterFunc'
Если я использую тот же код Python и передаю ему строку из другой функции Python. Работает нормально. Я что-то упускаю?
Пожалуйста, предложите.
Спасибо заранее.
Привет, Kazemakase .. Я отредактировал свой код, чтобы сделать его более читабельным. Честно говоря, я еще не так много сделал в коде Python, чтобы показать. На данный момент я просто запускаю одну строку кода, которая называется np.fromstring (...). Могу я также отметить, что если я сразу напечатаю длину, тип или всю строку, я получаю желаемый результат
Спасибо за редактирование. Я не могу поверить, что это полный код, который действительно вызывает эту ошибку. В сообщении об ошибке написано, что вы пытаетесь сделать аналог None.fromstring. Это означает np is None. Вам нужно выяснить, почему.






Пожалуйста, покажите полный (но минимальный) пример кода Python. Ошибка не имеет ничего общего со строками, а связана с тем, что есть
np. Решение будет заключаться в том, чтобы выяснить, почему этоNone.