Maison > développement back-end > Tutoriel Python > Comment empêcher l'exécution de code Python lors de l'importation de modules ?

Comment empêcher l'exécution de code Python lors de l'importation de modules ?

Barbara Streisand
Libérer: 2024-12-20 20:09:11
original
146 Les gens l'ont consulté

How to Prevent Python Code Execution During Module Import?

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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal