Exécuter le fichier Python à partir du shell Python

Hemank Mehtani 30 janvier 2023
  1. Utilisez la fonction exec pour exécuter un fichier Python à partir du shell Python
  2. Utilisez le mot-clé $ python pour exécuter un fichier Python à partir du shell Python
Exécuter le fichier Python à partir du shell Python

Python est un langage interpréteur, ce qui signifie qu’il exécute le code ligne par ligne. Il fournit également un shell Python, qui exécute une seule commande Python, puis affiche le résultat.

Il est également connu sous le nom de R(read) E(evaluate)) P(print) L(loop) - REPL, où il lit la commande, puis évalue la commande et finalement imprime le résultat et le boucle en arrière au début pour relire la commande.

Utilisez la fonction exec pour exécuter un fichier Python à partir du shell Python

La fonction exec() aide à exécuter dynamiquement le code d’un programme python. Nous pouvons passer le code sous forme de chaîne ou de code objet.

Il exécute le code objet tel qu’il est pendant que la chaîne est vérifiée pour les erreurs syntaxiques, le cas échéant. S’il n’y a pas d’erreur syntaxique, la chaîne analysée est exécutée comme une instruction Python.

Par exemple en Python3,

exec(open("C:\\any_file_name.py").read())

Par exemple en Python2,

execfile('C:\\any_file_name.py')

Utilisez le mot-clé $ python pour exécuter un fichier Python à partir du shell Python

$ python peut être utilisé dans l’invite de commande pour déclencher l’exécution d’un fichier Python. Cependant, pour que $ python fonctionne de manière transparente, le programme du projet doit suivre la structure :

# Suppose this is the file you want to run from Python Shell


def main():
    """core of the program"""
    print("main fn running")


if __name__ == "__main__":
    main()

En suivant cette structure, nous pouvons utiliser le $ python dans l’invite de commande comme suit :

$ python any_file_name.py

Si vous souhaitez exécuter la fonction principale, utilisez la commande suivante :

import _any_file_name
_any_file_name.main() #this command calls the main function of your program.