Skip to content

Instantly share code, notes, and snippets.

@williamcanin
Created May 9, 2020 13:56
Show Gist options
  • Save williamcanin/a79845ef123b4f49b7b94fade50429be to your computer and use it in GitHub Desktop.
Save williamcanin/a79845ef123b4f49b7b94fade50429be to your computer and use it in GitHub Desktop.
A essência do arquivo __main__.py em estruturas de pacote Python.

Uma das formas de entender o arquivo __main__.py em pacote Python é fazendo isso de maneira prática, pra isso, vamos a um exemplo simples. Crie a estrutura:

mypackage
└── __main__.py

Dentro do dander main, coloque um print qualquer:

print('Oi')

Zipe o seu pacote com o módulo "zipfile":

python -m zipfile -c mypackage.zip mypackage/*

Execute o pacote zipado assim:

python mypackage.zip

Verás a saída do "print('Oi')"

Outro exemplo simples. Crie a estrutura:

mypackage
├── __init__.py
└── __main__.py

Dentro do init.py importe o módulo dander main:

import __main__

Dentro do dander main, coloque um print qualquer:

print('Oi')

Depois execute esse package assim:

python -m mypackage

Verás a saída do "print('Oi')"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment