我有一些模塊位於不同的目錄中。只有當這些類是ParentClass
的子類時,我如何在這些module
中實例化類?從本質上講,我想是這樣的下面,想知道怎樣才能實現child_class_name
實例化來自不同目錄的Python子類
from importlib.machinery import SourceFileLoader
from parent_class import ParentClass
instances = []
script_path1 = r'/some/different/directory/some_child.py'
script_path2 = r'/some/different/directory/another_child.py'
for script_path in [script_path1, script_path2]:
module = SourceFileLoader('module', script_path).load_module()
child_class_name = "If a class in this module is a subclass of ParentClass"
ChildClass = getattr(module, child_class_name)
instances.append(ChildClass())
我不明白你需要什麼確切地說,如何檢查'ChildClass'是否是一個子類?或循環遍歷模塊中的所有類對象以查找哪一個是子類? – PRMoureu
後者循環遍歷模塊中的所有類對象以找到哪一個是子類,以便我可以創建'ChildClass'謝謝! –