29.4. __main__
— Point d’entrée des scripts¶
'__main__'
est le nom du scope dans lequel le code s’exécute en premier. Le nom d’un module (son __name__) vaut '__main__'
lorsqu’il est lu de l’entrée standard, lorsque c’est un script, ou une invite interactive.
Un module peut découvrir s’il est exécuté dans le scope principal en vérifiant son __name__
, ce qui permet typiquement d’exécuter du code lorsque le module est exécuté avec python -m
mais pas lorsqu’il est importé :
if __name__ == "__main__":
# execute only if run as a script
main()
Pour un paquet, le même effet peut être obtenu en utilisant un module __main__.py
, son contenu sera exécuté si le paquet est lancé via -m
.