Python exécuter un autre script Python

Vaibhhav Khetarpal 30 janvier 2023
  1. Utilisez l’instruction import pour exécuter un script Python dans un autre script Python
  2. Utilisez la méthode execfile() pour exécuter un script Python dans un autre script Python
  3. Utilisez le module subprocess pour exécuter un script Python dans un autre script Python
Python exécuter un autre script Python

Un fichier texte de base contenant du code Python destiné à être exécuté directement par le client est généralement appelé un script, officiellement connu sous le nom de fichier de programme de niveau supérieur.

Les scripts sont destinés à être exécutés directement en python. Apprendre à exécuter des scripts et du code est une compétence fondamentale à apprendre dans le monde de la programmation python. Le script Python a généralement l’extension '.py'. Si le script est exécuté sur une machine Windows, il peut avoir une extension .pyw.

Ce didacticiel présentera différentes méthodes pour exécuter un script Python dans un autre script Python.

Utilisez l’instruction import pour exécuter un script Python dans un autre script Python

L’instruction import permet d’importer plusieurs modules dans le code Python. Il est utilisé pour accéder à un code particulier à partir d’un module. Cette méthode utilise l’instruction import pour importer le script dans le code Python et l’utilise comme module. Les modules peuvent être définis comme un fichier contenant des définitions et des instructions Python.

Le code suivant utilise l’instruction import pour exécuter un script Python dans un autre script Python.

  • Script1.py :
def func1():
    print("Function 1 is active")


if __name__ == "__main__":
    # Script2.py executed as script
    # do something
    func1()

Production:

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()

Production:

Function 2 is active
Function 1 is active

Utilisez la méthode execfile() pour exécuter un script Python dans un autre script Python

La fonction execfile() exécute le fichier souhaité dans l’interpréteur. Cette fonction ne fonctionne qu’en Python 2. En Python 3, la fonction execfile() a été supprimée, mais la même chose peut être réalisée en Python 3 en utilisant la méthode exec().

Le code suivant utilise la fonction execfile() pour exécuter un script Python dans un autre script Python.

  • Script2.py :
# Python 2 code
execfile("Script1.py")

Production:

Function 1 is active

La même chose peut être faite en Python 3 en utilisant :

  • Script2.py :
exec(open("Script1.py").read())

Production:

Function 1 is active

Utilisez le module subprocess pour exécuter un script Python dans un autre script Python

Le module subprocess est capable de générer de nouveaux processus et peut également renvoyer leurs sorties. Il s’agit d’un nouveau module destiné à remplacer plusieurs modules plus anciens comme os.system, qui était auparavant utilisé pour exécuter un script Python dans un autre script Python.

Le code suivant utilise le module subprocess pour exécuter un script Python dans un autre 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)

Production:

Function 1 is active

Bien que les trois méthodes fonctionnent très bien, cette méthode a un avantage sur les deux autres méthodes. La modification d’un script Python existant et l’insertion de tout le code qu’il contient dans un sous-programme n’est pas nécessaire dans cette méthode.

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