第十二讲python学习总结---习题案例讲解

#yinghan.py模块
class YingHan(object):
    """
    只要创建对象成功,立马文件就已经解析完毕,剩下的就是自己查找
    """
    def __init__(self):
        self.path = r'C:\Users\ZBLi\Desktop\1801\day12\dict_eng.txt'
        # 首先定义一个空字典
        self.zidian = {}
        # 封装函数解析这个文件
        self.parse_file()

    def parse_file(self):
        # 打开文件,以只读打开文件
        fp = open(self.path, 'r', encoding='utf-8')
        # 将内容读进来读到字符串变量中
        content = fp.read()
        # 解析字符串即可,按照#号进行切割
        lt = content.split('#')
        # print(lt)  
        # 遍历这个列表,按照 Trans: 进行切割
        for line in lt:
            # 如果是空字符串,过滤掉
            if len(line) == 0:
                continue
            word_list = line.split('Trans:')
            # 取出英文和汉文
            english = word_list[0].rstrip('\n')
            chinese = word_list[-1].rstrip('\n')
            # 将键值对添加到字典中
            self.zidian[english] = chinese

    # 这是对外提供的方法,只要调用这个方法,那么就会直接将英文翻译为中文
    @classmethod
    def english_chinese(cls, english):
        # 创建对象,然后再构造方法中解析文件,保存到字典中
        obj = cls()
        # 根据english查找对应的汉文
        return obj.zidian.get(english)

#main主模块
from yinghan import YingHan

# 直接调用类方法解析英文
print(YingHan.english_chinese('raise'))

猜你喜欢

转载自blog.csdn.net/weixin_41853490/article/details/81025911