python:PyWebIO 模仿 mdict 查英汉词典

这篇具有很好参考价值的文章主要介绍了python:PyWebIO 模仿 mdict 查英汉词典。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PyWebIO提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于浏览器的GUI应用。 使用PyWebIO,开发者能像编写终端脚本一样(基于input 和 put 进行交互)来编写应用,无需具备HTML和 js的相关知识; PyWebIO还可以方便地整合进现有的Web服务。非常适合快速构建对UI要求不高的应用。

 参考 :PyWebIO 中文文档

用chrome 访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-lzo
下载 python_lzo-1.14-cp38-cp38-win_amd64.whl
pip install python_lzo-1.14-cp38-cp38-win_amd64.whl

pip install readmdict ;

pip install pywebio

pywebio-1.8.2.tar.gz (495 kB)
tornado-6.2-cp37-abi3-win_amd64.whl (425 kB)
user_agents-2.2.0-py3-none-any.whl (9.6 kB)
ua_parser-0.18.0-py2.py3-none-any.whl (38 kB)

编写 mdict_pywebio.py 如下:

# -*- coding: utf-8 -*-
""" 查询英汉 lexicons """
import os
import time
from readmdict import MDX
from pywebio import config
from pywebio.input import input, TEXT, select
from pywebio.output import put_html

def open_mdx():
    """ 读.mdx词典文件 """
    start_time = time.time()
    global headwords, items
    os.chdir("/mdict/")
    # 加载.mdx文件
    fname = "your.mdx"
    mdx = MDX(fname)
    headwords = [*mdx]       # 单词名列表
    items = [*mdx.items()]   # 释义html源码列表
    end_time = time.time()
    print('cost %f second' % (end_time - start_time))

def prefix(txt):
    """ 前缀匹配 """
    global headwords
    try:
        type(headwords)
    except NameError:
        print('headwords is undefined.')
        return
    alist = []    
    if len(txt) > 1:
        word = txt.strip().lower() # 字母变小写
        for hw in headwords:
            hws = hw.decode().lower()
            if hws.startswith(word):
                alist.append(hw.decode())
    else:
        print(f"{txt} input too short")
    return alist

def query1(txt):
    """  查询英文单词 """
    global headwords
    try:
        type(headwords)
    except NameError:
        print('headwords is undefined.')
        return
    word = txt.lower().encode()
    word1 = txt.capitalize().encode() # 第1个字母变大写
    try: # 查词,返回单词和html文件
        if word in headwords:
            wordIndex = headwords.index(word)
        else:
            wordIndex = headwords.index(word1)
        word,html = items[wordIndex]
        result = html.decode()
        return result
    except:
        return f"{txt} is not in word_list."

if __name__ == '__main__':
    open_mdx()
    txt = input("请输入 a word", type=TEXT)
    alist = prefix(txt)
    word = select("请选择 a word", options=alist)
    result = query1(word)
    #pywebio.config(title="result", cssfile="your.css")
    if result:
        put_html(result)
    else:
        print("result is null")

把你的词典 css文件 copy to web主目录 在 D:\Python38\Lib\site-packages\pywebio\html\

运行 python mdict_pywebio.py文章来源地址https://www.toymoban.com/news/detail-723408.html

到了这里,关于python:PyWebIO 模仿 mdict 查英汉词典的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用Microsoft Access作为DBMS,建立数据库和数据表来实现对一个简易的英汉电子词典进行存储和管理,这个简易电子词典中的内容至少包括:英文单词名、词性、汉语释义

    已完善英语词典词典所有功能,酌情使用 酌情参考 本单元的作业,意在检测学生是否达到以下学习目标: (1)掌握JDBC数据库访问的基本步骤; (2)掌握利用JDBC建立数据库连接的方法; (3)掌握利用JDBC对数据库进行查询的方法; (4)掌握利用JDBC对数据库中的数据进行增、删、]改

    2024年02月04日
    浏览(64)
  • 掌握Python的X篇_31_使用python制作在线词典

    本篇将会介绍另一个第三方模块 requests ,是用于HTML请求的客户端,虽然其也可以作为服务端,但是更多的是作为客户端,在爬虫中会被用到。 官方文档:https://requests.readthedocs.io/en/master/ 在requests提供了get方法(以及post方法),可以向指定的URL发送请求,并返回请求结果。 请求

    2024年02月13日
    浏览(31)
  • 【回眸】Python入门(五)基础语法&&列表和词典:Python如何消灭重复性劳动

     前言 本篇博客为填坑篇,这个系列的上一篇竟然是2021年的9月30更新的,离谱,差点就到断更两周年纪念日了,后续逐渐走向填坑的每一天,继续创作,希望这个系列的专栏文章能帮助到更多有需要的人。 随便写一个: class(列表名) = (赋值) [\\\'高一四班\\\',\\\'高二八班\\\',\\\'高

    2024年02月08日
    浏览(42)
  • 通过模仿学会Python爬虫(一):零基础上手

    好家伙,爬虫来了   爬虫,这玩意,不会怎么办, 诶,先抄一份作业回来  Python爬虫史上超详细讲解(零基础入门,老年人都看的懂)_ChenBinBini的博客-CSDN博客    卧槽,有点东西 这东西看上去挺nb啊, 也很方便,把我想要的一些数据直接总结到一个excel表格中了     我们

    2024年02月09日
    浏览(53)
  • 发布python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api,以及安卓接入案例代码

    python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api,以及原生安卓接入案例代码案例 源码地址:keyxh/newsapi: python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api,以及安卓接入案例代码 (github.com) 目录 1.环境配置: (1).python环境pip install flaskp

    2024年02月11日
    浏览(39)
  • UDP套接字的通信(实现英汉互译/程序替换/多线程聊天室/Windows与Linux通信)

    我们在客户端发英文,服务端做翻译工作,让翻译好的中文再次发给我们的客户端,然后打印出来。 翻译的操作 创建一个txt文件里面包含英汉互译的数据 dict.txt 对txt中的数据进行操作 分割函数 将英汉通过冒号分开。 将文件数据插入map里面 重新加载文件 通过捕捉2号(ctrl

    2024年02月11日
    浏览(33)
  • 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)

    需求: 1)偶尔需要查英文生词; 2)有时候想不起来中文对应的英文; 3)不想回到浏览器打开一堆网页; 4)谷歌翻译挂了。 偶尔需要的需求: 1)短句翻译。 因为谷歌翻译挂了,首先,排除最热门的翻译插件Vscode Google Translate,以及一系列衍生产品。 由于搜索“translate”

    2023年04月08日
    浏览(44)
  • 网络电子词典

    1. 登录注册功能,不能重复登录,重复注册 2. 单词查询功能 3. 历史记录功能,存储单词,意思,以及查询时间 4. 基于TCP,支持多客户端连接 5. 采用数据库保存用户信息与历史记录 格式要求: 1. main函数只跑逻辑,不允许跑功能代码 2. 功能代码封装成函数  服务器: 客户端

    2024年02月11日
    浏览(69)
  • 电子词典项目(有借鉴)

    服务器 客户端 导入

    2024年02月14日
    浏览(75)
  • 电子词典dictionary

         1.登录注册功能,不能重复登录,重复注册。用户信息也存储在数据库中。      2.单词查询功能      3.历史记录功能,存储单词,意思,以及查询时间,存储在数据库      4.基于TCP,支持多客户端连接      5.采用数据库保存用户信息与历史记录      6.将dict.txt的数

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包