operator modules functions from all python namespaces module

modules - En Python, ¿cómo puedo acceder al espacio de nombres del módulo principal desde un módulo importado?



python modules list (4)

Específicamente, necesito obtener algunos objetos y globales del módulo principal en un módulo importado. Sé cómo encontrar esas cosas cuando el módulo principal quiere algo particular de un módulo secundario, pero no puedo averiguar cómo ir en la otra dirección.


Creo que esto funcionaría:

import sys main_mod = sys.modules[''__main__'']


La respuesta que estás buscando es:

import __main__ main_global1= __main__.global1

Sin embargo, cada vez que un módulo module1 necesita cosas del módulo __main__ , entonces:

  • o bien el módulo __main__ debe proporcionar todos los datos necesarios como parámetros a una función / clase de module1 ,
  • o debe poner todo lo que necesita ser compartido en otro módulo, e importarlo como import module2 tanto en __main__ como en module1 .

No estoy seguro si es una buena práctica, pero tal vez podría pasar los objetos y las variables que necesita como parámetros a los métodos o clases que llama en el módulo importado.


import __main__

Pero no hagas esto.