Возможно ли, чтобы python открыл терминал и написал в него? - PullRequest
1 голос
/ 27 июля 2010

Например, если у меня есть этот код:

subprocess.call(['gnome-terminal'])

Возможно ли иметь выходные строки Python для конкретного терминала, который был только что открыт?Спасибо!

Ответы [ 2 ]

3 голосов
/ 27 июля 2010

Возможно, но проще запустить пользовательский процесс в подчиненном терминале. Например, * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.

 gnome-terminal -e "python ./sserv.py"

с удовольствием пообщается с вами по порту 9999. Учитывая более сложный sserv.py, он может делать все, что угодно (что угодно).

2 голосов
/ 27 июля 2010

Я думаю, что PExpect может сделать это для вас:

Pexpect - это в основном система сопоставления с образцом.Он запускает программы и смотрит вывод.Когда выходные данные соответствуют заданному шаблону, Pexpect может ответить так, как если бы человек печатал ответы.Pexpect можно использовать для автоматизации, тестирования и очистки экрана.Pexpect может использоваться для автоматизации приложений интерактивной консоли, таких как ssh, ftp, passwd, telnet и т. Д. Он также может использоваться для управления веб-приложениями через lynx, w3m или через какой-либо другой текстовый веб-браузер.Pexpect - это чистый Python.В отличие от других Expect-подобных модулей для Python Pexpect не требует TCL или Expect, а также не требует, чтобы расширения C компилировались.Он должен работать на любой платформе, которая поддерживает стандартный Python-модуль Python.

...