API Python C, изменить файл Python и вызвать модифицированный метод ⇐ C++
API Python C, изменить файл Python и вызвать модифицированный метод
У меня есть приложение с файлами Python рядом с ним, из которого будут вызываться методы. А в идеале изменения файла должны отслеживаться и если файл меняется, то он загружается и вызываются измененные методы. Например, загрузка кода Python:
auto p_name = PyUnicode_FromString(_python_file_name.c_str()); если (!p_name) { ... } автоматический модуль = PyImport_Import (p_name); если (!модуль) { ... } _dict = PyModule_GetDict(модуль); если (!_dict) { ... и вызов функции кода
tryUpdateFile(); //проверяет, когда файл был изменен, и при необходимости загружает новый auto p_func = PyDict_GetItemString(_dict, "createPacket"); if (!p_func || !PyCallable_Check(p_func)) { ... } p_return = PyObject_CallFunction(p_func, "i", id); auto res = parseStringFromPython (p_return); //анализируем возврат к строке Py_XDECREF(p_return); вернуть разрешение; Я ожидал, что после изменения модуля PyObject_CallFunction вызовет новую функцию, но вызывается старая. Что я делаю не так?
У меня есть приложение с файлами Python рядом с ним, из которого будут вызываться методы. А в идеале изменения файла должны отслеживаться и если файл меняется, то он загружается и вызываются измененные методы. Например, загрузка кода Python:
auto p_name = PyUnicode_FromString(_python_file_name.c_str()); если (!p_name) { ... } автоматический модуль = PyImport_Import (p_name); если (!модуль) { ... } _dict = PyModule_GetDict(модуль); если (!_dict) { ... и вызов функции кода
tryUpdateFile(); //проверяет, когда файл был изменен, и при необходимости загружает новый auto p_func = PyDict_GetItemString(_dict, "createPacket"); if (!p_func || !PyCallable_Check(p_func)) { ... } p_return = PyObject_CallFunction(p_func, "i", id); auto res = parseStringFromPython (p_return); //анализируем возврат к строке Py_XDECREF(p_return); вернуть разрешение; Я ожидал, что после изменения модуля PyObject_CallFunction вызовет новую функцию, но вызывается старая. Что я делаю не так?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как установить scikit-learn из исходного кода, используя локально модифицированный клон?
Anonymous » » в форуме Python - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-