HOWTO · Python
Python executa outro script Python
Este tutorial demonstra como executar um script Python em outro script Python
Nesta página
Um arquivo de texto básico contendo código Python que deve ser executado diretamente pelo cliente é normalmente chamado de script, formalmente conhecido como arquivo de programa de nível superior.
Os scripts devem ser executados diretamente em python. Aprender a executar scripts e código é uma habilidade fundamental para aprender no mundo da programação Python. O script Python geralmente tem a extensão '.py'. Se o script for executado em uma máquina Windows, ele pode ter uma extensão, .pyw.
Este tutorial discutirá diferentes métodos para executar um script Python dentro de outro script Python.
Use a instrução import para executar um script Python em outro script Python
A instrução import é usada para importar vários módulos para o código Python. É usado para obter acesso a um código específico de um módulo. Este método usa a instrução import para importar o script no código Python e o usa como um módulo. Os módulos podem ser definidos como um arquivo que contém definições e instruções do Python.
O código a seguir usa a instrução import para executar um script Python em outro script Python.
Script1.py:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Resultado:
Function 1 is active
Script2.py:
import Script1.py
def func2():
print("Function 2 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func2()
Script1.func1()
Resultado:
Function 2 is active
Function 1 is active
Use o método execfile() para executar um script Python em outro script Python
A função execfile() executa o arquivo desejado no interpretador. Esta função só funciona no Python 2. No Python 3, a função execfile() foi removida, mas o mesmo pode ser alcançado no Python 3 usando o método exec().
O código a seguir usa a função execfile() para executar um script Python em outro script Python.
Script2.py:
# Python 2 code
execfile("Script1.py")
Resultado:
Function 1 is active
A mesma coisa pode ser feita no Python 3 usando:
Script2.py:
exec(open("Script1.py").read())
Resultado:
Function 1 is active
Use o módulo subprocess para executar um script Python em outro script Python
O módulo subprocess é capaz de gerar novos processos e também pode retornar suas saídas. Este é um novo módulo e se destina a substituir vários módulos mais antigos como os.system, que era usado anteriormente para executar um script Python em outro script Python.
O código a seguir usa o módulo subprocess para executar um script Python em outro script Python.
Script1.py:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Script2.py:
import subprocess
subprocess.call("Script1.py", shell=True)
Resultado:
Function 1 is active
Embora todos os três métodos funcionem bem, esse método tem uma vantagem sobre os outros dois métodos. Editar um script Python existente e colocar todo o código que ele contém em uma sub-rotina não é necessário neste método.