Este código é projetado para executar programas Python em novos terminais separados, de forma assíncrona. Vou explicar passo a passo o que cada parte do código faz.
1. Importação do Módulo subprocess
import subprocess
O módulo subprocess
permite criar e gerenciar processos do sistema operacional a partir de um programa Python. É usado aqui para iniciar os programas Python em novas janelas de terminal.
2. Função executar_programa
def executar_programa(caminho_programa):
try:
# Executa o programa em uma nova janela de terminal
subprocess.Popen(
["python", caminho_programa],
creationflags=subprocess.CREATE_NEW_CONSOLE
)
print(f"Programa {caminho_programa} iniciado com sucesso.")
except Exception as e:
print(f"Erro ao iniciar o programa {caminho_programa}: {e}")
Esta função é responsável por executar um programa Python em uma nova janela de terminal:
Argumento
caminho_programa
: O caminho absoluto do script Python que você deseja executar.-
subprocess.Popen
: Inicia um novo processo no sistema operacional.- A lista
["python", caminho_programa]
é o comando que será executado no terminal. O primeiro item "python" é o interpretador Python e o segundo itemcaminho_programa
é o script Python a ser executado. -
creationflags=subprocess.CREATE_NEW_CONSOLE
: Essa flag cria uma nova janela de terminal para o processo em vez de rodá-lo na janela de terminal atual.
- A lista
try
eexcept
: O blocotry
tenta executar o programa. Se ocorrer algum erro (como o caminho incorreto do script), o blocoexcept
captura a exceção e imprime uma mensagem de erro.
3. Função main
def main():
# Caminhos para os programas que você deseja executar
programa1 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti\eaEquiti108.py"
programa2 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti690\eaEquiti690.py"
programa3 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaFtmo\eaFtmo.py"
programa4 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti224\eaEquiti224.py"
# Executa cada programa em um terminal separado
executar_programa(programa1)
executar_programa(programa2)
executar_programa(programa3)
executar_programa(programa4)
Na função main
:
Definição de caminhos para os programas: Aqui, quatro variáveis são definidas (
programa1
,programa2
,programa3
,programa4
) com os caminhos absolutos dos scripts Python que você deseja executar. Os caminhos são escritos como strings brutas (prefixados comr
) para evitar problemas com barras invertidas.Chamada à função
executar_programa
: Para cada programa, a funçãoexecutar_programa
é chamada. Cada script Python é executado em uma nova janela de terminal.
4. Execução Condicional if __name__ == "__main__":
if __name__ == "__main__":
main()
-
if __name__ == "__main__":
: Essa condição verifica se o arquivo Python está sendo executado diretamente (e não importado como módulo em outro script). Se for executado diretamente, a funçãomain()
será chamada e os programas serão iniciados.
Resumo do Fluxo:
- O script começa executando a função
main
. - A função
main
chamaexecutar_programa
para cada um dos quatro scripts, passando os caminhos dos programas. - A função
executar_programa
executa cada script Python em uma nova janela de terminal, usandosubprocess.Popen
. - Se houver algum erro ao tentar executar qualquer programa, o erro será capturado e uma mensagem será exibida.
Como funciona no sistema operacional:
- O
subprocess.Popen
comCREATE_NEW_CONSOLE
vai abrir uma nova janela do terminal do sistema operacional (no Windows, geralmente ocmd
ouPowerShell
) e executar o programa Python especificado em cada uma dessas janelas.
Esse é o funcionamento básico do código! Se precisar de mais detalhes ou ajustes, fique à vontade para perguntar.
Top comments (0)