Skip to content

Python __main__ notes

Alex Willmer edited this page Jun 9, 2026 · 2 revisions
#!/usr/bin/env python

if __name__ == '__main__':
    print(f'{dir()=}')
    print(f'{__doc__=}')
    print(f'{__file__=}')
    print(f'{__loader__=}')
    print(f'{__name__=}')
    print(f'{__package__=}')
    print(f'{__spec__=}')
mitogen git:(issue1529) ✗ python3 < main_inspect.py                                      
dir()=['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
__doc__=None
__file__='<stdin>'
__loader__=<class '_frozen_importlib.BuiltinImporter'>
__name__='__main__'
__package__=None
__spec__=None
mitogen git:(issue1529) ✗ python3 main_inspect.py
dir()=['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
__doc__=None
__file__='/Users/alex/src/mitogen/main_inspect.py'
__loader__=<_frozen_importlib_external.SourceFileLoader object at 0x100614ca0>
__name__='__main__'
__package__=None
__spec__=None
mitogen git:(issue1529) ✗ python3 -m main_inspect
dir()=['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
__doc__=None
__file__='/Users/alex/src/mitogen/main_inspect.py'
__loader__=<_frozen_importlib_external.SourceFileLoader object at 0x102898be0>
__name__='__main__'
__package__=''
__spec__=ModuleSpec(name='main_inspect', loader=<_frozen_importlib_external.SourceFileLoader object at 0x102898be0>, origin='/Users/alex/src/mitogen/main_inspect.py')

Clone this wiki locally