Python制作英文学习字典

#“制作英文学习字典”要求:
(1)编写程序制作英文学习字典,字典有三个基本功能:查询、添加和退出。具体要求如下:
(a)程序读取源文件路径下的CSV/txt文件,若没有就创建一个CSV/txt文件。
(b)字典文件存储方式为“英文单词,中文解释”,每行仅有一对英文和中文解释。
(c)实现英文单词及中文解释的添加功能,如果添加的单词已经存在,则提示“该单词已经添加到字典库”,当查询的单词不存在时,显示“字典库中未找到这个单词”。用户输入其他选项时,提示“输入有误!”

dic = {}
digits = '0123456789'
path = 'dic.txt'
 
def readFile(path, arg):
    try:
        file = open(path,arg,encoding = "utf-8")
    except:
        file = open(path,'w',encoding= "utf-8")
    return file

def readWords():
    file = readFile(path, 'r')
    while True:
        line = file.readline()
        if not line:
            break
        word = line.split(' ',2)
        dict[word[0]] = word[1][:-1]
    file.close()
 
def writeFile(word,dsp):
    file = readFile(path,'a')
    file.write('{} {}\n'.format(word, dsp))
    file.close()
 
def modifyFile(word, dsp):
    file = readFile(path,'r')
    line = file.readlines()
    flen = len(line) -1
    for i in range(flen):
        if word in line[i]:
            file.close()
            line[i] = '{} {}\n'.format(word, dsp)
            file = readFile(path,'w')
            file.writelines(line)
            break
    file.close()
 
def editMode():
    print('*'*50)
    print('*'*50)
    while True:
        word = input("(按数字键退出)请输入想添加或修改的单词")
        if word in digits:
            print('*'*50)
            print('*'*50)
            return
        try:
            print("该单词已经存在,当前解释是:{}".format(dict[word]))
        except:
            print('您添加的是一个新单词')
        print("-----------------------")
        description = input("输入解释:\n")
        try:
            dict[word] += ',%s'%description
            modifyFile(word, dict[word])
        except KeyError:
            dict[word] = '%s'%description
            writeFile(word,dict[word])
        print('----------------添加完成---------------')
 
def searchMode():
    print('*'*50)
    print('*'*50)
    while True:
        word = input("(按数字键退出)想查的单词:")
        if word in digits:
            print('*'*50)
            print('*'*50)
            return
        print("-----------------------------------")
        try:
            print(dict[word])
        except KeyError:
            print('对不起,这个单词未收录')
 
        print("------------------------------------------")
 
def interface():
    readWords()
    def switch(option):
        funcdic={
            1:lambda :searchMode(),
            2:lambda :editMode(),
            3:lambda :exit()
        }
        return funcdic[option]()
    while True:
        print("-------------欢迎使用-------------")
        print("1.查询单词\n2.添加单词\n3.退出\n")
        option =int(input("请输入选择:"))
        switch(option)
 
interface()

#问题1:存储中英词汇的文档有什么要求?如果是文本文档格式,内部应该是什么要求?
#问题2:代码中各模块都是什么意思呢?(可暂不回答)

题目要求已经写了格式是:英文单词,中文解释

img