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.337 ]

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

Site de depuração e aprendizado de expressões regulares

Testando se uma variável é número em shell script

Python - pegar elemento aleatório de uma lista

Instagram Direct no Linux

Gravando e regravando CDs de dados e de áudio

Leitura recomendada

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

Python3 demorando a compilar numpy e/ou pandas [Resolvido]

Lançamento do Stoq versão 0.8.10

RTV - Acessando o Reddit via terminal

Curso Gratuito - Python 3 na Web com Django (Básico e Intermediário)

  

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