Python executa outro script Python

Vaibhhav Khetarpal 30 janeiro 2023
  1. Use a instrução import para executar um script Python em outro script Python
  2. Use o método execfile() para executar um script Python em outro script Python
  3. Use o módulo subprocess para executar um script Python em outro script Python
Python executa 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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