¿Cuál es la forma de función de importación estrella en Python 3?
¿Cuál es el equivalente deimport *
en Python usando funciones (presumiblemente deimportlib
)?
Sé que puedes importar un módulo conmod = __import__(...)
, que delegará a la implementación configurada actualmente. También puedes hacer algo como
mod_spec = importlib.utl.spec_from_file_location(...)
mod = importlib.util.module_from_spec(mod_spec)
mod_spec.loader.exec_module(mod)
que le permite hacer cosas locas como inyectar cosas en el módulo insertándolas antes de la llamada aexec_module
. (Cortesía dehttps://stackoverflow.com/a/67692/2988730 yhttps://stackoverflow.com/a/38650878/2988730)
Sin embargo, mi pregunta sigue siendo. Cómoimport *
trabajar en forma de función? Qué función determina qué nombres cargar desde un módulo dependiendo de la presencia / contenido de__all__
?