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

Comentários
Comente só assim vamos crescer juntos!