Cómo "escribir" devolución de paquete aleatoria [duplicado]
Nov 24 2020
Estoy creando una API para permitir complementos en una aplicación en la que estoy trabajando. Estoy usando importlib.import_modulepara importar los complementos. Claramente, no tengo idea de qué módulos se van a importar antes de tiempo. ¿Hay alguna forma de identificar el tipo de retorno como un módulo genérico en el método que estoy usando para hacer las importaciones?
def import_plugin(plugin_name: str) -> <Some generic module type>:
# conditional tests here...
return importlib.import_module("plugins.{}".format(plugin_name))
Respuestas
1 khelwood Nov 24 2020 at 19:52
El tipo de módulo viene dado por types.ModuleTypeen el typesmódulo.
import types
type(types) is types.ModuleType
# => True
ericl16384 Nov 24 2020 at 19:45
Python usa la escritura pato , por lo que recomiendo asumir que es un módulo, y si no es así, deje que el usuario lo maneje. Si realmente desea obtener el tipo, utilícelo types.ModuleTypecomo dijo khelwood.