Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Como Capturar Variável de Outro Código Python

Como Capturar Variável de Outro Código Python

Publicado por em

Como um script Python pode capturar a variável de outro script

@CanalQb

Descrição do problema

Uma tarefa comum em projetos Python é a necessidade de um script obter informações de outro, especialmente quando esses scripts fazem parte de processos automatizados. Um dos métodos mais práticos para alcançar isso é utilizar o módulo subprocess, que permite executar outro script e capturar sua saída.

Exemplo prático: dois scripts Python se comunicando

Vamos demonstrar como um script Python pode capturar o valor de uma variável definida em outro script.

Segundo script (segundo_script.py)

Este é o script que contém a variável que desejamos acessar:

# segundo_script.py
print("hello world")

Note que usamos print() para garantir que a variável seja passada pela saída padrão e possa ser capturada.

Primeiro script (primeiro_script.py)

Este script executa o segundo script e lê sua saída:

import subprocess

# Executa o segundo script e captura a saída
process = subprocess.Popen(['python', 'segundo_script.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()

# Remove espaços em branco e converte para string
minha_variavel = output.decode('utf-8').strip()

# Exibe a variável capturada
print(minha_variavel)

Explicação do processo

  • subprocess.Popen: executa o script indicado.
  • stdout=subprocess.PIPE: direciona a saída padrão para uma variável.
  • communicate(): coleta o resultado do script filho.
  • decode('utf-8'): converte os bytes recebidos em string legível.

Cuidados importantes

Certifique-se de que o segundo script imprima apenas a variável que você deseja capturar. Qualquer texto adicional impresso também será incluído na saída e pode comprometer o valor capturado.

Alternativas avançadas

Se o segundo script for mais complexo ou retornar múltiplos dados, considere utilizar comunicação via arquivos temporários, sockets ou mesmo módulos personalizados. Para estruturas mais robustas, é possível usar multiprocessing com filas (Queue) ou processos compartilhados.

Exemplo completo e funcional

Ambos os arquivos devem estar no mesmo diretório. Execute primeiro_script.py e você verá a saída:

hello world

Links úteis

Acesse o canal @CanalQb no YouTube

Marcadores: Blogger IA Python Script Sistemas Tutorial

© abril 14, 2023 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários