O módulo subprocess
permite gerar novos processos, conectar-se aos seus pipes de entrada/saída/erro e obter seus códigos de retorno. Este módulo pretende substituir vários módulos e funções mais antigas, tais como: os.system
e os.spawn*
.
subprocess
para compilar e rodar código C++Nese caso, vamos usar métodos mais antigos por questões de compatibilidade, algumas funções só estão disponíveis a partir do Python 3.5, por exemplo a função run()
.
Suponhamos que você possua esse código exemplo em C++
main.cpp
Ele exibe somente dados de cadastrados.
Agora vamos compilar e rodar o código via Python:
main.py
e importamos o módulo subprocess
call()
para compilarmos o código:O código completo seria de 3 básicas linhas:
Agora rode:
E vai parecer que o código C++ rodou em tempo de execução.
Agora você percebeu que C++ foi só um exemplo e que o subprocess
você pode usar para outras linguagens e situações também, né?!
Para mais informações acesse: https://docs.python.org/3/library/subprocess.html .