A última linha sem buffer não pode ser lida

Estou tentando ler a última linha de um comando como 'apt-get download firefox'. Normalmente a saída será como

Get:1 http://archive.ubuntu.com/ubuntu/ utopic/main firefox amd64 32.0+build1-0ubuntu2 [34.9 MB]
2% [1 firefox 646 kB/34.9 MB 2%]

com a última linha atualizando continuamente (não está gravando uma nova linha até atingir 100%). Meu objetivo agora é ler o progresso em tempo real. Aqui está o meu código de exemplo atual:

#!/usr/bin/python3 -u
# coding=utf-8

import subprocess, sys

pipe = subprocess.Popen(['apt-get', 'download', 'firefox'], 0, stderr = subprocess.PIPE, stdout = subprocess.PIPE)
while True:
    content = pipe.stdout.read(1).decode()
    if content == '':
        break
    sys.stdout.write(content)
    sys.stdout.flush()
pipe.wait()

Desabilitei o buffer de saída para a chamada de subprocesso e também para a saída binária do processo Python (com o argumento -u). Mas estou apenas recebendo a primeira linha, mas não o progresso da segunda linha. Alguém sabe como eu posso conseguir isso?

questionAnswers(1)

yourAnswerToTheQuestion