__main__
— Ambiente de Script de Nível Superior¶
'__main__'
é o nome do escopo no qual o código de nível mais alto executa. O __name__ do módulo é definido como '__main__'
quando for lido a partir de uma entrada padrão, um script ou uma tela de comando interativo.
Um módulo pode verificar se está ou não rodando no escopo principal, verificando seu próprio __name__
, o que permite expressões para executar condicionalmente o código em um módulo quando esse executa como um script ou com python -m
mas não quando esse é importado:
if __name__ == "__main__":
# execute only if run as a script
main()
Para um pacote, o mesmo resultado pode ser obtido incluindo um módulo __main__.py
, o conteúdo desse será executado quando rodar o módulo com -m