Estoy tratando de escribir un script de python que empaquete nuestro software. Este script necesita construir nuestro producto y empaquetarlo. Actualmente tenemos otros scripts que hacen cada pieza de forma individual, que incluye scripts csh y perl. Una secuencia de comandos se ejecuta como:¿Es posible comunicarse con un subproceso secundario con subproceso.Popen?
sudo mod args
donde mod es una secuencia de comandos perl; entonces en Python lo haría
proc = Popen(['sudo', 'mod', '-p', '-c', 'noresource', '-u', 'dtt', '-Q'], stderr=PIPE, stdout=PIPE, stdin=PIPE)
El problema es que este script MOD necesita algunas preguntas respondidas. Para esto, pensé que el tradicional
(stdout, stderr) = proc.communicate(input='y')
funcionaría. No creo que esté funcionando porque el proceso que Popen está controlando es sudo, no el script mod que está haciendo la pregunta. ¿Hay alguna forma de comunicarse con el script mod y aún así ejecutarlo a través de sudo?
Probé pexpect y funcionó como "esperado". ¡Gracias! – darrickc