В оболочке python, если я нахожу a = 2
, ничего не печатается. Если я напечатаю a
2, печатается автоматически. Принимая во внимание, что это не происходит, если я запускаю сценарий из режима ожидания.Имитировать поведение оболочки (сила eval последней команды для отображения)
Я хотел бы подражать этому оболочечному поведению, используя python C api, как это делается?
Например, выполнение этого кода PyRun_String("a=2 \na", Py_file_input, dic, dic);
с C не будет печатать ничего как выход. Я хотел бы моделировать поведение, подобное оболочке, так что, когда я выполняю предыдущую команду, значение «2» сохраняется в строке. Можно ли сделать это легко, либо с помощью команд python, либо из C api? В принципе, как это делает оболочка python?
['PyRun_InteractiveLoop'] (https://docs.python.org/2/c-api/veryhigh.html#c.PyRun_InteractiveLoop)? Тем не менее, это даст вам реальную интерактивную подсказку. – user2357112