Captura a saída do programa C no stdout usando o subprocesso Python? Pexpecto?
Eu quero capturar a saída de um programa em C que estou lançando assim:
p = subprocess.Popen(["make", "run_pci"],
stdout=subprocess.PIPE,
cwd="/home/ecorbett/hello_world_pthread")
for ln in p.stdout:
O único problema é que eu não recebo saída até que o programa C esteja pronto, quando na verdade eu preciso obter uma linha por linha de saída enquanto o programa está sendo executado. E para complicar ainda mais, eu tenho que analisar cada linha (eu só preciso de certos dados de linhas).
Por exemplo, aqui está um exemplo de saída: (Eu preciso capturar "Thread on Tile #")
blahblah blah Thread blahblah blah tile 1: On
blahblah blah Thread blahblah blah tile 2: OFF
blahblah blah Thread blahblah blah tile 3 : Disable
Percebi que o artigo que eu relacionei abaixo parece ter o mesmo problema. Eu estava tentando descobrir como adaptá-lo à minha situação?
Obtendo a saída em tempo real do ffmpeg para ser usada na barra de progresso (PyQt4, stdout)
Newbie Python, por exemplo, o código é muito apreciado !!!