Flush Print Output em Python
-
Flush Print Output em Python usando o parâmetro
flush
na funçãoprint()
-
Descarregue a saída de impressão em Python usando o método
sys.stdout.flush()
-
Libere a saída de impressão em Python usando o sinalizador
-u
Neste tutorial, discutiremos as várias maneiras de liberar a saída das funções de impressão como print()
e sys.stdout.write()
para a tela em Python. Geralmente, as funções de entrada e saída armazenam os dados em um buffer para melhorar o desempenho do programa. Portanto, para diminuir o número de chamadas do sistema, os dados são armazenados primeiro em um buffer e depois gravados na tela, em vez de gravá-los na tela ou arquivo, caractere por caractere, etc.
Este tutorial explicará os vários métodos para definir as funções de impressão para liberar à força os dados em cada chamada, em vez de armazená-los em buffer.
Flush Print Output em Python usando o parâmetro flush
na função print()
O argumento flush
da função print()
pode ser definido como True
para parar a função de armazenar em buffer os dados de saída e forçá-los a limpá-los. Se o argumento flush
for definido como True
, a função print()
não armazenará os dados em buffer para aumentar a eficiência e continuará liberando-os em cada chamada.
O código de exemplo abaixo demonstra como fazer a função print()
para liberar forçosamente a saída de impressão em Python.
print("This is my string", flush=True)
Descarregue a saída de impressão em Python usando o método sys.stdout.flush()
A outra maneira de liberar os dados de saída durante a impressão é usando sys.stdout.flush()
do módulo sys
do Python. O sys.stdout.flush()
forçará as funções de impressão que podem ser print()
ou sys.stdout.write()
para escrever a saída na tela ou arquivo em cada chamada e não armazená-la em buffer.
O exemplo de código a seguir demonstra como usar o método sys.stdout.flush()
para liberar os dados de saída da impressão:
import sys
sys.stdout.write("This is my string")
sys.stdout.flush()
Libere a saída de impressão em Python usando o sinalizador -u
Podemos passar o sinalizador -u
para o intérprete durante a execução do arquivo .py
, ele forçará stdin
, stdout
e stderr
a não armazenar em buffer e liberar os dados durante a execução do arquivo .py
.
O exemplo a seguir demonstra como usar o sinalizador -u
para liberar a saída de impressão em Python.
python -u mycodefile.py