Python – How to Import a Module as __main__

python

I have a module that has the usual

if __name__ == '__main__':
    do stuff...

idiom.

I'd like to import that from another module, and fool it into running that code. Is there any way of doing this?

I should mention, for reasons I won't go into here, I'm not in a position to change the code in the imported module. I need to somehow modify the import procedure so that it's name is main when imported, perhaps using ihooks or similar.

Best Answer

As pointed out in the other answers, this is a bad idea, and you should solve the issue some other way.

Regardless, the way Python does it is like this:

import runpy
result = runpy._run_module_as_main("your.module.name"))
Related Question