Я пишу программу на языке 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')")
Хорошо, приведенная выше строка не будет работать, но что будет?