2009-10-14 7 views
15

Interesuje mnie sterowanie interaktywną aplikacją CLI z wywołań Pythona.Owijanie interaktywnej aplikacji wiersza poleceń w skrypcie python

Domyślam się, że na najbardziej podstawowym poziomie potrzebuję skryptu Pythona, który uruchomi aplikację CLI na hoście OS. Ruruj wszystko od stdin do aplikacji cli, a następnie wyprowadź dowolne wyjście z aplikacji cli na standardowe wyjście.

Z tej bazy powinna być całkiem proste do zrobienia niektóre przetwarzania na wejściu i wyjściu

Szczerze mówiąc chyba wystarczy wskaźnik na co tecnique nazywa. Nie mam pojęcia, czego potrzebuję szukać.

Odpowiedz

11

Może chcesz coś od Subprocess (MOTW).

używam kodu tak, aby woła do powłoki:

from subprocess import Popen, PIPE 

## shell out, prompt 
def shell(args, input=''): 
    ''' uses subprocess pipes to call out to the shell. 

    args: args to the command 
    input: stdin 

    returns stdout, stderr 
    ''' 
    p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE) 
    stdout, stderr = p.communicate(input=input) 
    return stdout, stderr 
+0

+1 od 'subprocess' biblioteka jest częścią standardowej biblioteki Pythona, i dostaje zadanie. –

+0

Co więcej, z Popenem możesz użyć listy argumentów jako argumentów! – edomaur

Powiązane problemy