Python - capturar a saída do programa em um arquivo ou variável
Dica publicada em Python / Avançado
Python - capturar a saída do programa em um arquivo ou variável
Python - capturar a saída do programa em um arquivo ou variável
A dica trata de uma necessidade bem incomum. Vamos supor que seu script em Python gere determinada saída de acordo com seu processamento ou iteração com o usuário. Vou abordar duas formas de capturar a saída do programa, uma para um arquivo e outra para uma variável.
Simples assim. Toda a saída do programa, ao invés de sair no terminal, será gravada em "arquivo.log".
Simples assim. Toda a saída do programa, ao invés de sair no terminal, será armazenada na variável "saida".
NOTA: se você quiser capturar a saída de erro do programa, basta trocar "sys.stdout" por "sys.stderr".
Capturando a saída para um arquivo
Você quer gravar a saída do programa para um arquivo de log:
import sys
sys.stdout = open('arquivo.log', 'w')
# segue o jogo...
Simples assim. Toda a saída do programa, ao invés de sair no terminal, será gravada em "arquivo.log".
Capturando a saída para uma variável
Você quer gravar a saída do programa para uma variável:sys.stdout = capturar_saida = StringIO() # seu código aqui # ... saida = capturar_saida.getvalue()
Simples assim. Toda a saída do programa, ao invés de sair no terminal, será armazenada na variável "saida".
NOTA: se você quiser capturar a saída de erro do programa, basta trocar "sys.stdout" por "sys.stderr".
Muito legal.
___________________________________________________________