Как отправить клавишу Tab в стандартный ввод подпроцесса Python
Фон: У меня есть подпроцесс Python, который подключается к похожему на оболочку приложению, которое использует библиотеку readline для обработки ввода, и в этом приложении есть подпрограмма, полная TAB для ввода команд, как и bash. Дочерний процесс создается так:
def get_cli_subprocess_handle():
return subprocess.Popen(
'/bin/myshell',
shell=False,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
Все отлично работает, кроме Tab-Complete. Всякий раз, когда моя программа Python передает символ табуляции,'\t'
для подпроцесса я получаю 5 пробелов в STDIN, вместо запуска подпрограммы полной библиотеки readline. :(
Вопрос: Что я могу отправить в STDIN подпроцесса, чтобы активировать дочернюю функцию завершения табуляции? Может быть, спросили по-другому: как мне отправить вкладкуключ в отличие от табуляциихарактер, если это вообще возможно?
Связанные, но без ответа и сорванные:
завершение вкладки триггера для пакетного процесса Python, построенного вокруг readline