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: 5.907 ]

Blog: https://www.instagram.com/alexabolada/

 


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

Desativando popups "O sistema detectou um problema no aplicativo" no Ubuntu

Como suprimir a emissão de luz azul da tela via linha de comando

ffmpeg - Como aumentar ou reduzir o volume de um áudio ou video via linha de comando

Contar e ordenar a quantidade de ocorrências de cada linha em um arquivo

O comando date

Leitura recomendada

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

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

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

Internacionalização dos programas em Python

Docker API com 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