Executando um comando interativo de dentro do python

Eu tenho um script que eu quero correr de dentro de python (2.6.5), que segue a lógica abaixo:

Solicitar usuário por senha. Parece ("Digite a senha:") (* Nota: Entrada não ecoa para tela)Saída de informação irrelevanteSolicitar a resposta do usuário ("Blah Blah nome_do_arquivo.txt blá blá (S / N) ?:")

A última linha de prompt contém texto que preciso analisar (filename.txt). A resposta fornecida não importa (o programa pode realmente sair daqui sem fornecer um, contanto que eu possa analisar a linha)

Meus requisitos sãoum pouco igual aEnvolvendo um aplicativo de linha de comando interativo em um script python, mas as respostas parecem um pouco confusas, e a minha ainda continua, mesmo quando o OP menciona que isso não acontece para ele.

Ao olhar em volta, cheguei à conclusão de quesubprocess é a melhor maneira de fazer isso, mas estou tendo alguns problemas. Aqui está a minha linha Popen:

p = subprocess.Popen("cmd", shell=True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT, stdin=subprocess.PIPE)

Quando eu chamo umread() oureadline() emstdout, o prompt é impressora para a tela e trava.

Se eu ligar para umwrite("password\n") parastdin, o prompt é gravado na tela e trava. O texto emwrite() não está escrito (eu não faço o cursor mover a nova linha).

Se eu ligarp.communicate("password\n"), mesmo comportamento como write ()

Eu estava procurando algumas idéias aqui sobre a melhor maneira de introduzir parastdin e possivelmente como analisar a última linha na saída se você se sentir generoso, embora eu possa descobrir isso eventualmente.

questionAnswers(2)

yourAnswerToTheQuestion