Pular para o conteúdo

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

Dica publicada em Python / Avançado
Fábio Berbert de Paula fabio
Hits: 7.288 Categoria: Python Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Integrar Área de Transferência do Vim com Ambiente Gráfico

Livro Running Linux de graça!

Lista de downloads travando no Firefox

Obtendo a soma do tamanho os arquivos listados com "du"

MySQL - Got error 28 from storage engine [Resolvido]

RTV - Acessando o Reddit via terminal

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

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

Livro: Python para desenvolvedores

Lançamento do Stoq versão 0.8.10

Contribuir com comentário

Entre na sua conta para comentar.