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

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

O comando lastlog

Tag <video> com autoplay não está funcionando? [Resolvido]

Mais um portal para a comunidade Linux

O comando tree - listar diretórios em formato árvore

Enviando mensagem para todos os usuários

Leitura recomendada

Docker API com Python

RTV - Acessando o Reddit via terminal

Internacionalização dos programas em Python

Programando em Python no VIM com recurso de auto-completar (python-jedi)

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