Как я могу сделать Python разрешить пользователю взаимодействовать с подпроцессом? - PullRequest
0 голосов
/ 26 мая 2020

Я хочу написать оболочку Python для интерактивного процесса. После некоторой предварительной обработки я хочу вызвать другую программу и позволить пользователю взаимодействовать с ней: просмотреть вывод дочернего элемента и ввести то, что видит ребенок. Я нахожу множество ответов о StackOverflow и inte rnet о Python, взаимодействующем с дочерним процессом, но я не могу найти ничего о том, чтобы он не мешал и позволял пользователю взаимодействовать с ним.

В частности, я пытаюсь создать конфигурацию MySQL для будущих подключений без пароля, а редактор конфигурации настаивает на интерактивном вводе пароля. У меня есть что-то вроде:

subprocess.run(
            ['mysql_config_editor',
             'set',
             '--login-path={}'.format(alias),
             '--host={}'.format(host),
             '--user={}'.format(user),
             '--password'],
            stdin=sys.stdin)

, и я не могу получить .call() или .Popen() или любую комбинацию параметров stdin и stdout для работы.

FWIW, Работаю на Windows.

...