Comment empêcher Python d'exécuter du code lors de l'importation
Vous avez implémenté un programme Python qui permet deux méthodes d'exécution : une mode avec entrée utilisateur (main.py) et un mode batch qui traite les entrées d'un fichier (batch.py). Cependant, l'importation de main.py dans batch.py déclenche l'exécution du code dans main.py, entraînant des erreurs.
Raison :
En Python, des mots-clés comme class et def représentent les instructions qui sont exécutées lorsqu'elles sont rencontrées. Ces déclarations ne sont pas de simples déclarations mais des déclarations actives, une fonctionnalité de conception qui garantit l'existence du contenu dans votre module.
Solution :
L'approche Pythonic pour résoudre ce problème est d'adopter la structure suivante :
# Place any code that should run regardless of execution mode here (e.g., class/def) def main(): pass if __name__ == "__main__": # Code that is only executed when called as "python main.py" main()
Avec cette approche, le code placé en dehors de la fonction main s'exécutera indépendamment de comment le script est appelé (directement ou via l'importation). Le code dans la fonction main ne s'exécutera que lorsque le script est exécuté directement (python main.py).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!