igendel icon

plugin loader demo using import_module

igendel | PRO | 12/08/23 06:56:29 AM UTC | 0 ⭐ | 1056 👁️ | Never ⏰ | []
Python |

510 B

|

None

|

0 👍

/

0 👎

import glob
import importlib
 
plugins_dir = "plugins"
 
def main():
 
    plugins = [];
    for full_name in glob.glob(plugins_dir + "/*.py"):
        print("Importing plugin from " + full_name)
        module_ref = full_name.replace("\\", ".")
        module_ref = module_ref[0:module_ref.rfind(".py")]
        plugins.append(importlib.import_module(module_ref))
 
    for pl in plugins:
        print([item for item in pl.__dir__() if not item.startswith("__")])
 
 
if __name__ == '__main__':
    main()
 

Comments