aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hydrorollcore
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-07-04 13:09:45 +0800
committerGitHub <noreply@github.com>2023-07-04 13:09:45 +0800
commite2c8efbc833de9eaa471620013d6fcc78a7eeff4 (patch)
treee920de475b6804a0a150b3bc2b3141f942efd845 /hydrorollcore
parent95f49d726ace5bc8d0d52492923de0c1ae474b05 (diff)
downloadinfini-e2c8efbc833de9eaa471620013d6fcc78a7eeff4.tar.gz
infini-e2c8efbc833de9eaa471620013d6fcc78a7eeff4.zip
Rename rule.py to rule.py
Diffstat (limited to 'hydrorollcore')
-rw-r--r--hydrorollcore/rule.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/hydrorollcore/rule.py b/hydrorollcore/rule.py
new file mode 100644
index 00000000..bdc24369
--- /dev/null
+++ b/hydrorollcore/rule.py
@@ -0,0 +1,30 @@
+import os
+import importlib.util
+
+__all__ = ["Rule"]
+
+class Rule:
+ def __init__(self, folder_path):
+ self.folder_path = folder_path
+
+ def load_modules(self):
+ # 获取指定文件夹下的所有文件和文件夹
+ file_list = os.listdir(self.folder_path)
+ module_list = []
+
+ # 遍历文件列表
+ for file_name in file_list:
+ file_path = os.path.join(self.folder_path, file_name)
+
+ # 判断是否为Python文件或者包
+ if file_name.startswith('_') or not file_name.endswith(".py"):
+ continue
+
+ # 尝试加载模块
+ module_name = os.path.splitext(file_name)[0]
+ spec = importlib.util.spec_from_file_location(module_name, file_path)
+ module = importlib.util.module_from_spec(spec)
+ spec.loader.exec_module(module)
+ module_list.append(module)
+
+ return module_list