Как передать текст во встроенный интерпретатор Python - PullRequest
0 голосов
/ 28 сентября 2019

Я пишу программу на языке Python, которая предоставляет API-интерфейс Python через интерпретатор Python, используя code.interact().

Это работает нормально, но иногда я хочу записать команды API в интерпретатор из программы.Например, когда пользователь хочет воспроизвести все свои предыдущие команды API.

Я хочу сделать что-то вроде:

В потоке. Экземпляр потока имеет:

class MyConsole(threading.Thread):

    def run():
      shell = code.interact(local=locals())

В основном потоке:

my_console = MyConsole()
my_console.start()

# Send a command to the 'input()' of the shell.
sys.stdin.write("print('Hello World')")

Хорошо, приведенная выше строка не будет работать, но что будет?

...