Связь с запущенным процессом через STDOUT - PullRequest
1 голос
/ 01 марта 2011

Я создал запущенный процесс, который прослушивает ввод:

listen = Popen(["home/user/listen"], stdout=PIPE, stdin=PIPE)

Запускается и ожидает ввода от STDIN / STDOUT.

К сожалению, кажется, что я не могу выполнить что-либо, что отправляю процессу, т. Е. Как вы, нажав "Enter", например,

listen.communicate("Test")

или

listen.stdout("Test")

Записывает строку в STDOUT, но не выполняет ее, я должен нажать «Enter» вручную. Есть ли способ это исправить?

P.S. Я ссылаюсь на http://docs.python.org/library/subprocess.html

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Я нашел решение:

listen.stdin.write("%s" %input)
listen.stdin.write("\n")
1 голос
/ 01 марта 2011

home/user/listen ждет конца строки?Если это так, добавьте \n в конце ваших команд, например listen.communicate("Test\n").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...