Estoy interesado en controlar una aplicación CLI interactiva desde llamadas a python.
Supongo que en el nivel más básico necesito un script de Python que inicie una aplicación CLI en el sistema operativo host. Canalice cualquier cosa desde la entrada estándar a la aplicación cli, y luego canalice cualquier salida desde la aplicación cli a la salida estándar.
Desde esta base, debería ser bastante sencillo realizar un procesamiento en la entrada y salida
Para ser honesto, probablemente solo necesito un indicador de cómo se llama la técnica. No tengo idea de lo que necesito estar buscando.
¿ PExpect se ajusta a sus necesidades?
Tal vez usted quiera algo de Subprocess ( MOTW ).
Uso un código como este para hacer llamadas al shell:
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