Python executa outro script Python
-
Use a instrução
import
para executar um script Python em outro script Python -
Use o método
execfile()
para executar um script Python em outro script Python -
Use o módulo
subprocess
para executar um script Python em outro script Python
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.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn