Запуск терминала Linux и управление с помощью Python - PullRequest
0 голосов
/ 05 мая 2019

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

До сих пор я пытался использовать подпроцесс, чтобы открыть новое окно терминала, используя

proc = subprocess.Popen('gnome-terminal')

Мне также удалось открыть программы, например, nano.

proc = subprocess.Popen(['gnome-terminal', '--command=nano'])

Но тогда я не могу отправить больше команд в терминал, то есть я могу управлять им как пользователем, но я не могу автоматизировать то, что он делает с python. Я пытался использовать подпроцесс и каналы для отправки большего количества команд, но это не сработало. Я также заглянул в os.system (), но не смог найти решение.

Для быстрого примера

1) Python открывает новый терминал

2) отправить 'эхо, это тест "

3) отправить 'ping -c 10 192.168.x.x >> pingout.txt'

4) в терминале 'nano pingout.txt'

5) напишите «это тест»

6) затем '^ X', 'y' и Return, чтобы сохранить отредактированный файл

Тогда программа на python продолжит работу.

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