29.4. __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 interativa.
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 (package), o mesmo resultado pode ser obtido incluindo um módulo __main__.py
, o conteúdo desse será executado quando o módulo for executado com -m