主方法main

定义主函数main,程序的入口,首先导入io包,用os.path.exists判断字典文件是否存在,如果不存在则新建一个,然后进入循环中,让用户输入相应的数字,执行相应的功能。

def main():

flag = os.path.exists('dictionary.csv')

if flag == False:

d = open('dictionary.csv', 'w')

d.close()

while 'true':

print('---英语学习词典(1添加2查询3退出)---')

num = input('请输入相应功能的编号:')

if num == '1':

inputWord()

elif num == '2':

serachWord()

elif num == '3':

break

else:

print('输入有误,请重新输入')

inputWord方法

inputWord这是一个添加英语和对应中文意思的方法,打开这个文件,先把光标移动到开头,通过一行一行扫描,然后把行内的英语单词通过分片的形式分割出来,判断用户输入的英文单词字典中是否存在,如果存在则提示,并输入对应的翻译,如果不存在则再进行添加进字典里面

def inputWord():

with open('dictionary.csv', 'a+', encoding='utf-8', newline='') as csv_file:

csv_file.seek(0)

e = input('请输入你要录入的英语单词:')

files = csv_file.readlines()

for file in files:

file = file.replace('\n', '')

ls = file.split('-')

if ls[0] == e:

print('该单词已添加过了,中文意思是:' + ls[1])

return

# 字典找不到单词,开始添加

csv_file.seek(2)

c = input('请输入对应的中文意思:')

line = '\n' + e + '-' + c

csv_file.writelines(line)

print(e + '已添加成功')

serachWord方法

serachWord这是查找功能,用户输入英文单词,查询中文意思,打开字典文件,每行扫描,提取前面的英文单词,遍历与用户输入的单词匹配,如果不存在则提示,没有找到这个单词,然后给用户提供是否需要通过百度翻译,查看意思,并且翻译结束后可以添加进字典中

def serachWord():

word = input('请输入你要查询的英语单词')

with open('dictionary.csv', 'r+', encoding='utf-8') as csv_file:

files = csv_file.readlines()

# print(files)

# print(type(files))

for file in files:

file = file.replace('\n', '')

ls = file.split('-')

# print(ls)

if ls[0] == word:

print('中文意思是:' + ls[1])

return

print('字典库中未找到这个单词')

flag = input('是否要通过百度翻译查看翻译:(输入Y/y查询)')

if (flag == 'Y') | (flag == 'y'):

chn = baudu(word)

print('百度翻译:' + chn)

if chn != '出错了':

flag2 = input('是否要添加进词典:(输入Y/y添加)')

if (flag2 == 'Y') | (flag2 == 'y'):

line = '\n' + word + '-' + chn

csv_file.writelines(line)

print(word + '已添加成功')

baidu方法

baidu这个方法,是通过百度翻译官网爬虫实现,用到requests库

def baudu(word):

url = 'https://fanyi.baidu.com/sug'

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'

}

data = {'kw': word}

try:

r = requests.post(url, data=data, headers=headers, timeout=5)

r.raise_for_status()

data = r.json()['data']

for i in data:

if i['k'] == word:

return i['v']

else:

return '出错了'

except:

return '出错了'

实验结果:

python爬虫英文单词_Python_爬虫百度英文学习词典相关推荐

  1. python英语字典程序-Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加.查询.删除和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  2. python制作英语字典_Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加.查询.删除和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  3. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  4. Python制作英文学习词典

    编写程序制作英文学习词典,实现3个基本功能.添加,查询和退出. 以下是该词典的Python代码: dict = {} digits = '0123456789' path = 'dict.txt'de ...

  5. python语言程序设计基础程序练习题7.5制作英文学习词典

    7.5  制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  6. 四天人工智能 python入门体验课_百度深度学习7天打卡营,用Python+AI识别“青你2”小姐姐的高颜值...

    原标题:百度深度学习7天打卡营,用Python+AI识别"青你2"小姐姐的高颜值 "淡黄的长裙,蓬松的头发",一夜之间洗脑全网,小姐姐们实在太让人上头了! 导师 ...

  7. 假期学习【十一】Python切词,以及从百度爬取词典

    今天主要对从CSDN爬取的标题利用jieba(结巴)进行分词,但在分词过程中发现,如大数据被分成了大/数据,云计算被分隔成了云/计算. 后来又从百度百科--->信息领域爬取了相关词语作为词典,预 ...

  8. python爬虫英文单词_Python爬虫入门案例:获取百词斩已学单词列表

    标签: 百词斩是一款很不错的单词记忆APP,在学习过程中,它会记录你所学的每个单词及你答错的次数,通过此列表可以很方便地找到自己在记忆哪些单词时总是反复出错记不住.我们来用Python来爬取这些信息, ...

  9. python制作英语字典_python制作英文学习字典案列

    原博文 2020-03-04 23:01 − def rdic(): fr = open('dic.txt','r') for line in fr: line = line.replace(&quo ...

  10. 制作英文学习词典。编写程序制作英文学习词典,词典有3个基本功能:添加、查询和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个(Python)

    以下路径可更换为你自己的路径,本程序采用Python语言大致实现了serach()查询函数和add()添加函数.细节有待完善,谢谢 def search():w=input("请输入要查询的 ...

最新文章

  1. 元宇宙,分三层!香港中文大学再现「校园元宇宙」原型
  2. READING NOTE: R-FCN: Object Detection via Region-based Fully Convolutional Networks
  3. vue项目 预览照片的插件 v-viewer
  4. C#中OpenFileDialog获取文件名和文件路径的常用方法.
  5. 透过迷雾不再迷茫 浅析海康威视透雾技术
  6. 结组开发项目(TD学生助手)
  7. GitLab CI/CD conda: command not found
  8. spark和hadoop的区别
  9. 应用案例 | 从Storm到Flink,有赞五年实时计算效率提升实践
  10. 双稳态继电器工作原理图_常见的继电器及工作原理
  11. 投票 java_Java基础之简单投票程序
  12. Apache详解(一)Internet和HTTP协议
  13. Apache启动失败,请检查相关配置。√MySQL5.1已启动。
  14. Flink整合kafka并基于事件源生成时间戳以及水印
  15. Python视频处理(3)——提取视频字幕
  16. Set Similarity
  17. python实现食品推荐_通过Python语言实现美团美食商家数据抓取
  18. 初创游戏企划草案经验谈
  19. Linux网络之连接跟踪(conntrack)
  20. codeforces 711C Coloring Trees(DP)

热门文章

  1. NLPIR ICTCLAS2015分词系统的使用
  2. sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)...
  3. iconfont-阿里巴巴矢量图标库的使用方法
  4. MySQL工具【mysql 客户端连接工具】
  5. Oracle函数写法和举例
  6. Android数据库框架LitePal详解
  7. 国内外有哪些有前景的 AR VR公司?
  8. Elasticsearch自定义插件
  9. Makefile入门教程
  10. 【被网上巨坑了】 win10+php5.6-ts-vc11-x64配置imagick的经历