import json import re class FunctionUtil: def __init__(self): self.filename = "./function.json" self.data = {} self.load() def load(self): """ 加载文件数据 """ try: with open(self.filename, 'r', encoding="utf-8") as f: self.data = json.load(f) except FileNotFoundError: pass def save(self): """ 将函数保存至json文件当中 """ with open(self.filename, "w", encoding="utf-8") as f: json.dump(self.data, f) def check_function_exit(self, function): """ 检查用户输入的函数是否包含用户自定义函数 """ for key in self.data.keys(): if function.find(key) >=0: return True return False def add_function(self, key, value): """ 添加函数 """ self.data[key.strip()] = value.strip() self.save() def get_function_by_iter(self, key): result = key for dict_key in self.data.keys(): if result.find(dict_key) >= 0: value = result.replace(dict_key, self.data[dict_key]) result = self.replace_values_recursive(value) return result def replace_values_recursive(self, value): for key in self.data: if key in value: replacement = self.data[key] value = value.replace(key, replacement) return value