__main__
— Entorno de script del nivel superior¶
'__main__'
es el nombre del ámbito en el que se ejecuta el código de nivel superior. El atributo __name__ de un módulo se establece igual a '__main__'
cuando se lee desde una entrada estándar, un script o un prompt interactivo.
Un módulo puede descubrir si se está ejecutando o no en el ámbito principal al verificar su propio __name__
, lo cual permite un idioma común para ejecutar código condicionalmente en un modulo cuando este se ejecuta como un script o con python -m
pero no cuando este es importado:
if __name__ == "__main__":
# execute only if run as a script
main()
Para un paquete, se puede lograr el mismo efecto incluyendo un modulo __main__.py
, cuyo contenido se ejecutara cuando el modulo se ejecute con -m
.