Python exécuter un autre script Python
-
Utilisez l’instruction
import
pour exécuter un script Python dans un autre script Python -
Utilisez la méthode
execfile()
pour exécuter un script Python dans un autre script Python -
Utilisez le module
subprocess
pour exécuter un script Python dans 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 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