Запустить nano как подпроцесс из python, захватить ввод
Я пытаюсь запустить текстовый редактор (nano) изнутри Python, попросить пользователя ввести текст, а затем перехватить текст после его записи (Control-O). Я не работал сsubprocess
модуль раньше, ни трубы, так что я не знаю, что попробовать дальше.
Пока у меня есть этот код:
a = subprocess.Popen('nano', stdout=subprocess.PIPE, shell=True)
кудаa
должен захватить вывод. Этот код, однако, не вызывает nano, а вместо этого заставляет терминал python вести себя странно. Клавиши «вверх» и «вниз» (история) перестают работать, и клавиша возврата становится неработоспособной.
Может ли кто-нибудь указать мне правильное направление для решения этой проблемы? Я понимаю, что мне может понадобиться прочитать о каналах в Python, но единственная информация, которую я могу найти, этоpipes
модуль, и это не очень помогает.