Я встраиваю python в программу C / C ++.
Я пытаюсь разобрать файл скрипта python из программы C / C ++, разбить файл на «блоки», чтобы каждый «block "является допустимой командой в коде Python .Каждый блок мне нужно положить в std::string
.Например:
#PythonScript.py
import math
print "Hello Python"
i = 0;
while (i < 10):
print "i = " , i;
i = i + 1;
print "GoodBye Python"
В этом скрипте 5 разных «блоков»:
Мои знания в области Python очень просты, и яне знаком с синтаксисом кода Python.Каков наилучший способ сделать это, есть ли какая-либо функция Python C / C ++ API, которая поддерживает это?
зачем мне это нужно -> для целей графического интерфейса.Моя программа, написанная на C, использует Python для некоторых вычислений.Я запускаю из кода C, используя Python C API, сценарий Python, и мне нужен способ для захвата вывода Python в моей программе.Я ловлю это, и все в порядке, проблема в том, когда скрипт включает пользовательский ввод.Что происходит, так это то, что я записываю вывод Python после завершения скрипта, поэтому, когда в скрипте есть входная команда, я получаю черный экран .... Мне нужно получить все распечатки перед входной командой.
Первое решение, которое я попробовал, состоит в том, чтобы выполнить синтаксический анализ сценария с действительными командами и запускать каждую команду, одну за другой, отдельно ... для этого мне нужно проанализировать сценарий и определить, что является командой, а что нет ..Вопрос в том, каков наилучший способ сделать это и есть ли что-то, что уже делает?