这次是把文档中的英语单词和音标词性翻译,全部放在一个字典中,把单词作为键,翻译和音标等作为值
附件为work.txt 自己使用时只需要改名
代码如下
import re # 引用正则表达式模块
import pprint # 引用pprint模块
def open_word(): # 定义函数打开文件(必须为同级目录,不然需要改为完整路径)
a = open("word.txt","r",encoding="utf-8") # 变量a接收打开的word.txt文件
aa = a.read() # 变量aa接收读取work.txt的全部数据
a.close() # close函数关闭文件
return aa # 把aa获取的全部数据返回
def find_all(all):
word_re_obj = re.compile("(.*?)(\[.*?\]):(.*?\.)(.*?)\\n",re.M) # 定义一个正则对象,写好正则规则
data = word_re_obj.findall(all) # 变量data接收所有符合规则的数据
return data # 返回
def word_dict(func):
word_dict = {} # 设置一个空字典
for i in func: # 用func接收等会传入的data,循环data数据
word_dict[f"{i[0]}"] = (f" 音标: {i[1]} 词性: {i[2]} 翻译: {i[3]}") # 然后用字典根据下标添加值 此时i为每一行的数据,i[0] = 单词 i[1] = 音标 i[2] = 词性 i[3]等于翻译
pprint.pprint(word_dict) # 使用pprint 可以让字典自动换行(比较好看)
def main(): # 主函数 传递相应的参数
ooo = find_all(open_word())
word_dict(ooo)
main()