Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Como passar variáveis entre scripts Python

Como passar variáveis entre scripts Python

Publicado por em

@CanalQb

Troca de Variáveis entre Scripts Python

@CanalQb

Quando você está desenvolvendo aplicações em Python, pode surgir a necessidade de dividir funcionalidades entre scripts diferentes. Uma das formas mais comuns de comunicar dados entre esses scripts é passando variáveis de um script principal para outro via argumentos de linha de comando.

Utilizando o módulo subprocess para executar scripts

O módulo subprocess, presente na biblioteca padrão do Python, permite que você execute comandos e scripts como novos processos. Especificamente, o método Popen() permite executar scripts externos enquanto mantém controle sobre eles, inclusive passando argumentos para serem utilizados no script chamado.

Passando variáveis com subprocess.Popen()

O código abaixo demonstra como passar uma variável de um script para outro:

import subprocess

# Define a variável que será passada
variavel = "valor da variavel"

# Chama o script e envia a variável como argumento
subprocess.Popen(["python", "script2.py", variavel])

Esse trecho inicia a execução do script script2.py e envia como argumento o valor contido na variável variavel.

Recebendo variáveis no script de destino

Para capturar o argumento enviado no script chamado (script2.py), você deve usar o módulo sys e acessar a lista sys.argv, onde:

  • sys.argv[0] é o nome do script.
  • sys.argv[1] é o primeiro argumento passado (no nosso caso, a variável).

Exemplo de código do script2.py:

import sys

# Recebe o argumento da linha de comando
variavel = sys.argv[1]

# Utiliza a variável recebida
print("A variável é:", variavel)

Se você executar o script principal, o terminal imprimirá:

A variável é: valor da variavel

Boas práticas e considerações

  • Garanta que os scripts estejam no mesmo diretório ou use caminhos relativos/absolutos corretos.
  • Verifique sempre a quantidade de argumentos esperados para evitar erros de índice com sys.argv.
  • Para argumentos com espaços ou caracteres especiais, o ideal é fazer a codificação correta ou encapsular com aspas.
  • Se você precisa de troca de dados mais complexos, como listas ou dicionários, pode considerar o uso de JSON ou arquivos temporários.

Alternativas mais avançadas

Além da passagem de argumentos via linha de comando, outras abordagens incluem:

  • Uso de arquivos temporários: escrever os dados em um arquivo no script 1 e ler no script 2.
  • Uso de sockets ou pipes: quando se deseja comunicação bidirecional em tempo real.
  • Uso de bibliotecas como multiprocessing: quando os scripts fazem parte da mesma aplicação.

Documentação oficial

Para detalhes completos sobre subprocess, consulte a documentação oficial do Python.

Dominar essas técnicas de integração entre scripts aumenta a flexibilidade e escalabilidade de suas aplicações Python, permitindo organizar seu código de forma modular e eficiente.

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