Запустить nano как подпроцесс из python, захватить ввод

Я пытаюсь запустить текстовый редактор (nano) изнутри Python, попросить пользователя ввести текст, а затем перехватить текст после его записи (Control-O). Я не работал сsubprocess модуль раньше, ни трубы, так что я не знаю, что попробовать дальше.

Пока у меня есть этот код:

a = subprocess.Popen('nano', stdout=subprocess.PIPE, shell=True)

кудаa должен захватить вывод. Этот код, однако, не вызывает nano, а вместо этого заставляет терминал python вести себя странно. Клавиши «вверх» и «вниз» (история) перестают работать, и клавиша возврата становится неработоспособной.

Может ли кто-нибудь указать мне правильное направление для решения этой проблемы? Я понимаю, что мне может понадобиться прочитать о каналах в Python, но единственная информация, которую я могу найти, этоpipes модуль, и это не очень помогает.

Ответы на вопрос(2)

Ваш ответ на вопрос