Python: Como ler o stdout do subprocesso de maneira não bloqueadora

Estou tentando criar um script python simples que inicia um subprocesso e monitora sua saída padrão. Aqui está um trecho do código:

process = subprocess.Popen([path_to_exe, os.path.join(temp_dir,temp_file)], stdout=subprocess.PIPE)
while True:   
    output=process.stdout.readline()
    print "test"

O problema é que o script permaneceoutput=process.stdout.readline() e que a linhaprint "test" só é executado depois que o subprocesso é finalizado.

Existe uma maneira de ler a saída padrão e imprimi-la sem ter que esperar o subprocesso terminar?

O subprocesso que estou iniciando é um binário do Windows para o qual não tenho o código fonte.

Encontrei várias perguntas semelhantes, mas as respostas são aplicáveis apenas no Linux ou no caso de eu ter a fonte do supra-processo que estou iniciando.

questionAnswers(2)

yourAnswerToTheQuestion