Python - capturar a saída do programa em um arquivo ou variável

Publicado por Fábio Berbert de Paula em 05/09/2020

[ Hits: 6.597 ]

Blog: https://fabio.automatizando.dev

 


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.

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

Outras dicas deste autor

Alt+Tab não funciona no Ubuntu 15.04 [Resolvido]

Novo portal Linux: Open SCRIPT

Viva o Linux no Twitter!

Alterando nome de placa de rede FÁCIL usando arquivos de LINK

Como atualizar seu Ubuntu para 14.10 ou superior

Leitura recomendada

Internacionalização dos programas em Python

Hardware Project Simulator 0.2 com interface gráfica e correções

Docker API com Python

RTV - Acessando o Reddit via terminal

Ordenando dicionários em Python

  

Comentários
[1] Comentário enviado por maurixnovatrento em 05/09/2020 - 23:34h


Muito legal.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts