ランダムなパッケージの返品を「入力」する方法[重複]
Nov 24 2020
作業中のアプリケーションでプラグインを使用できるようにするAPIを構築しています。importlib.import_module
プラグインのインポートに使用しています。明らかに、どのモジュールが事前にインポートされるのかわかりません。インポートを行うために使用しているメソッドのジェネリックモジュールとして戻り値の型を識別する方法はありますか?
def import_plugin(plugin_name: str) -> <Some generic module type>:
# conditional tests here...
return importlib.import_module("plugins.{}".format(plugin_name))
回答
1 khelwood Nov 24 2020 at 19:52
モジュールのタイプは、モジュール内で指定さtypes.ModuleType
れtypes
ます。
import types
type(types) is types.ModuleType
# => True
ericl16384 Nov 24 2020 at 19:45
Pythonはダックタイピングを使用しているので、モジュールであると想定し、ユーザーに処理させない場合はお勧めします。本当にタイプを取得したい場合はtypes.ModuleType
、khelwoodが言ったように使用してください。