pip install readmdict ; 参见:使用Python调用mdx字典文件进行查词

安装 Mdict 去 MDict
pip install bottle

mdict_bottle.py

# -*- coding: utf-8 -*-
""" web server 用于查询英汉词典 """
import os
import sys
from readmdict import MDX
from bottle import route, run, post, request, static_fileos.chdir("/mdict/doc")
# 加载.mdx文件
filename = "oale8.mdx"
mdx = MDX(filename)
headwords = [*mdx]       # 单词名列表
items = [*mdx.items()]   # 释义html源码列表
n = len(headwords)
m = len(items)
if n == m:print(f'{filename} 加载成功:共{n}条')
else:print(f'ERROR:加载失败 {n}!={m}')sys.exit(1)@route('/')
def server_static(filepath="index.html"):return static_file(filepath, root='./')@route('/<filepath:path>')
def server_static(filepath):return static_file(filepath, root='./')def english_han(txt):""" 英译中 """if not txt.isascii():return 'Maybe text is not english'word = txt.encode()word1 = txt.capitalize().encode() # 第1个字母变大写global headwords, itemstry: # 查词,返回单词和html文件if word in headwords:wordIndex = headwords.index(word)else:wordIndex = headwords.index(word1)word,html = items[wordIndex]result = html.decode()result = result.replace('<img src="','<img src="/data/')result = result.replace('entry://', '/trans?txt=')#result = result.replace('sound://', '/data/')except:result = f"<h3>{txt} is not in word_list.</h3>"if len(txt) > 3:alist = []word = txt.strip().lower() # 字母变小写for hw in headwords:hws = hw.decode().lower()if hws.startswith(word):alist.append(hw.decode())if len(alist) > 0:result = '<h3>'+ ', '.join((alist)) +'</h3>'else:result = f"{txt} length too short.(length>3)"return result@route('/trans')
def trans():""" GET 英译中"""try:txt = request.query.txtexcept:return '1: get txt error'if len(txt.strip()) ==0:return 'text is null'print(txt)result = english_han(txt)return result@route('/trans', method='POST')
def trans():""" 英译中 """try:#txt = request.forms.get('txt')txt = request.POST.get('txt')except:return '1: get txt error'if len(txt.strip()) ==0:return 'text is null'print(txt)result = english_han(txt)return resultrun(host='localhost', port=8888, debug=True)

index.html  页面加载添加:监听iframe网页点击事件

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>查询英汉词典</title><script src="jquery-3.2.1.min.js"></script>
</head>
<body><form name="form" id="form" action="trans" method="POST" target="iframe"><input type="search" name="txt" size="30" placeholder="请输入 a word"><input type="submit" name="english_han" value="英译汉"></form><p></p>
<div id="result"><iframe name="iframe" id="iframe" width="90%" height="450">     </iframe>
</div><audio controls id="sound">it is null.</audio>
<script type="text/javascript" language="javascript">// 页面加载添加$(document).ready(function(){var listener = window.addEventListener('blur', function(){if (document.activeElement === document.getElementById('iframe')){$('iframe').contents().find('a.fayin').click(function(e){event.preventDefault();var a = $(this);if (a){var addr = a.attr('href');if (addr.indexOf('sound://')==0){var sound = document.getElementById('sound')if (sound.paused){sound.src = "/data/" + addr.substring(8);sound.play();}} else {alert('href='+addr);}}})}        });})
</script>
</body>
</html>

运行 python mdict_bottle.py

python:mdict + bottle = web 查询英汉词典相关推荐

  1. python:mdict + flask = web 查询英汉词典,汉英词典

    pip install pinyin; pip install snownlp; pip install flask pip install readmdict ; 参见:使用Python调用mdx字 ...

  2. python:SL4A ecdict.py 英汉词典查询

    安卓手机上安装 sl4a_r6.apk , 可以执行 python 2.6 . ecdict.py 英汉词典查询程序放在 sl4a/scripts/ # -*- coding: utf-8 -*- i ...

  3. python软件界面翻译_python英汉词典,在线翻译器,带GUI界面下载

    使用请求模块获得的职位信息有道词典网页,BeautifulSoup获得所需的内容,并生成gui界面通过tkinter模块.2. Python实现翻译工具git源代码地址代码如下:# !\/bin\/e ...

  4. Python基础笔记_Day14_Python图形化界面、Python GUI、tkinter、Python英汉词典

    Day14_Python图形化界面.Python GUI.tkinter.Python英汉词典 14.01_Python语言基础(Python实现英汉字典)(掌握) 14.02_Python语言基础( ...

  5. python英汉词典

    # -*- coding: utf-8 -*- """ Created on Tue Dec 18 01:06:45 2018@author: Administrator ...

  6. 通过游戏编程学Python(6)— 英汉词典、背单词

    通过游戏编程学Python 通过游戏编程学Python(番外篇)- 乱序成语.猜单词 通过游戏编程学Python(5)- 猜成语(下) 通过游戏编程学Python(4)- 猜成语(上) 文章目录 通过 ...

  7. python制作英汉词典_Python基于有道实现英汉字典功能

    本文实例讲述了Python基于有道实现英汉字典功能的方法.分享给大家供大家参考.具体如下: import re,urllib aa="http://dict.youdao.com/searc ...

  8. Python对英汉词典的若干操作(#10)

    从网上下载了一个英汉词典txt版,整理后放在了py文件同一目录下,取名为"英汉词典".后面要用正则表达式处理这些单词. 1.读取英汉词典前10行 f=open("英汉词典 ...

  9. [Silverlight]使用MVVM模式打造英汉词典

    最近比较关注MVVM(Model-View_ViewModel)模式,该模式十分适合WPF/Silverlight的开发.出于练习的目的打算使用Silverlight做个英汉词典(可能是由于近来疯狂的 ...

最新文章

  1. ICRA 2021| SKD:基于显着性估计的点云关键点检测
  2. SQL server2000数据库备份和还原语句
  3. js 用正则表达式模仿SQL like % 的模糊匹配
  4. CentOS7配置JAVA环境变量
  5. c语言程序设计19,C语言程序设计19.pdf
  6. ArcSegment对象
  7. eclipse 中配置php的 XDebug调试
  8. OpenCV-Python实战(18)——深度学习简介与入门示例
  9. Struts2 标签库 控制标签的使用 if append generator iterator merage sort subset
  10. geemap_01_安装geemap
  11. 20155204《网络对抗》Exp 6 信息搜集与漏洞扫描
  12. python common很久不用我都忘了一些函数了,给boss添麻烦了
  13. 2020 dns排名_《2020年全球DNS威胁报告》:DNS攻击平均损失高达92万美元
  14. pdcp层的作用_NR PDCP层介绍
  15. 某公司服务器故障导致数据库文件丢失的恢复过程
  16. KLG Europe选择BluJay Solutions为其提供全球运输管理和客户服务监控软件系统方案...
  17. WPS PDF转Word工具
  18. shell脚本小工具之万能解压和压缩器---实现思路
  19. python实现指定ip端口扫描
  20. .NET TCP服务端和客户端

热门文章

  1. 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】
  2. 程序员本硕博学——一站式导航
  3. 9325寄存器详细说明
  4. “多个帮主同意某人加入工会”思考异步编程的问题
  5. 给中国学生的第六封信——选择的智慧
  6. 工程师应如何仿真并得出结论
  7. chatgpt不好使?那是你不会问,github上收集的100多种问法,让你快速玩转chatgpt
  8. 【沧海拾昧】Proteus8仿真stm32:ADC转换程序
  9. 阿里巴巴CTO线-2023届校园春季招聘正式启动,加入阿里,一起打开有意思的未来
  10. 计算机老师任课教师寄语,任课老师寄语