So senden Sie die Tabulatortaste an das STDIN des Python-Unterprozesses

Hintergrund: Ich habe einen Python-Unterprozess, der eine Verbindung zu einer Shell-ähnlichen Anwendung herstellt, die die readline-Bibliothek verwendet, um Eingaben zu verarbeiten, und diese App hat eine TAB-vollständige Routine für die Befehlseingabe, genau wie bash. Der untergeordnete Prozess wird wie folgt erzeugt:

def get_cli_subprocess_handle():
    return subprocess.Popen(
                            '/bin/myshell',
                            shell=False,
                            stdin=subprocess.PIPE,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT,
                            )

Alles funktioniert super, außer tab-complete. Immer wenn mein Python-Programm das Tabulatorzeichen übergibt,'\t' Für den Unterprozess erhalte ich 5 Leerzeichen in der STDIN, anstatt die Tab-Vervollständigungsroutine der Readline-Bibliothek auszulösen. :(

Frage: Was kann ich an die STDIN des Unterprozesses senden, um die Tab-Vervollständigungsfunktion des Kindes auszulösen? Vielleicht anders gefragt: Wie sende ich den TAB?Schlüssel im Gegensatz zum TABCharakter, ob das überhaupt möglich ist?

Verbunden, aber unbeantwortet und entgleist:

Trigger-Tab-Vervollständigung für Python-Batch-Prozesse, die auf Readline basieren

Antworten auf die Frage(3)

Ihre Antwort auf die Frage