Como “digitar” retorno de pacote aleatório [duplicado]
Nov 24 2020
Estou construindo uma API para permitir plug-ins em um aplicativo no qual estou trabalhando. Estou usando importlib.import_module
para importar os plug-ins. Obviamente, não tenho ideia de quais módulos serão importados com antecedência. Existe uma maneira de identificar o tipo de retorno como um módulo genérico no método que estou usando para fazer as importações?
def import_plugin(plugin_name: str) -> <Some generic module type>:
# conditional tests here...
return importlib.import_module("plugins.{}".format(plugin_name))
Respostas
1 khelwood Nov 24 2020 at 19:52
O tipo de módulo é fornecido por types.ModuleType
no types
módulo.
import types
type(types) is types.ModuleType
# => True
ericl16384 Nov 24 2020 at 19:45
Python usa digitação duck , então eu recomendo assumir que é um módulo e, se não for, deixe o usuário lidar com isso. Se você realmente deseja obter o tipo, use types.ModuleType
como disse khelwood.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino