Agora que você mencionou, não é uma função shell, mas uma função python em um script python: Isso explica alguns, e aí vem sua resposta:
printing - Como liberar a saída da impressão em Python? - estouro de pilha
Você precisa colocar isso dentro do loop de sua função python: sys.stdout.flush() - e é claro que você precisa import sys antes (ou from sys import ... se você precisar apenas de uma parte dele).