import cppy.cp_util as util ########################################## # 工具类 ########################################## class wordsTaskHandler: def handle(self,path_to_file): return util.extract_file_words(path_to_file) class frequenciesTaskHandler: def handle(self,word_list): return util.get_frequencies(word_list) class sortTaskHandler: def handle(self,word_freq): return util.sort_dict(word_freq) ########################################## # 应用框架 ########################################## def handle_task(task_type,*args): handler_class_name = f"{task_type}TaskHandler" # 构建处理器类名 handler_class = globals().get(handler_class_name) if handler_class: handler = handler_class() # 实例化处理器类 return handler.handle(*args) # 调用处理方法 else: print(f"No found for task type: {task_type}") word_list = handle_task("words",util.testfilepath) word_freq = handle_task("frequencies",word_list) word_sort = handle_task("sort",word_freq) util.print_word_freqs(word_sort)