jak wysłać klucz tab-tab do standardowego podprocesu Pythona
Tło: Mam podproces Pythona, który łączy się z aplikacją podobną do powłoki, która używa biblioteki readline do obsługi danych wejściowych, a ta aplikacja ma procedurę wypełniania TAB dla poleceń, podobnie jak bash. Proces potomny jest tworzony w ten sposób:
def get_cli_subprocess_handle():
return subprocess.Popen(
'/bin/myshell',
shell=False,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
Wszystko działa świetnie, poza kartami. Ilekroć mój program w Pythonie przechodzi znak tabulacji,'\t'
do podprocesu dostaję 5 spacji w STDIN, zamiast uruchamiać procedurę tabulatora biblioteki readline. :(
Pytanie: Co mogę wysłać do STDIN podprocesu, aby uruchomić funkcję wypełniania tabulacji dziecka? Może zapytałem w inny sposób: Jak wysłać kartęklawisz w przeciwieństwie do TABpostać, jeśli to możliwe?
Powiązane, ale bez odpowiedzi i wykolejenia:
zakończenie zakładki wyzwalacza dla procesu wsadowego Pythona zbudowanego wokół readline