import sys
import importlib
import inspect
def import_module_from_spec(module_spec):
module = importlib.util.module_from_spec(module_spec)
module_spec.loader.exec_module(module)
return module
def get_classes(arg):
classes = []
clsmembers = inspect.getmembers(arg, inspect.isclass)
for (name, _) in clsmembers:
classes.append(name)
return classes
module_file_path = r"D:\pycode\script\重启redis脚本\start_redis_service.py"
sys.path.append(module_file_path)
spec = importlib.util.spec_from_file_location("module_name", module_file_path )
module= import_module_from_spec(spec)
class_list = get_classes(module)
for class_name in class_list:
clas= getattr(module, class_name)
basclas = clas.__base__
attr_list = clas.__dict__.key():
for attr_name in attr_list:
attr = getattr(clas, attr_name)
print(attr)