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).