Как отправить клавишу 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 'S Tab-полная рутина. :(
Вопрос: Что я могу отправить в подпроцесс?с STDIN, чтобы вызвать ребенкас полной функцией табуляции? Может быть, спросили по-другому: как мне отправить вкладкуключ в отличие от табуляцииперсонаж, если это вообще возможно?
Связанные, но без ответа и сорванные:
завершение вкладки триггера для пакетного процесса Python, построенного вокруг readline