最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 翻譯詞典小程序功能說明

 更新時間:2025年05月17日 10:39:25   作者:龍泉寺天下行走  
本工具是基于Python開發(fā)的智能翻譯系統(tǒng),采用有道詞典進行翻譯,并具有本地詞典緩存以及單詞本功能,這篇文章主要介紹了Python 翻譯詞典小程序,需要的朋友可以參考下

一、概述

本工具是基于Python開發(fā)的智能翻譯系統(tǒng),采用有道詞典進行翻譯,并具有本地詞典緩存以及單詞本功能。 版本號:v1.0  (2025-05-15)

二、核心功能說明

1. 基礎(chǔ)翻譯功能

  • 即時翻譯:輸入英文單詞自動獲取中文釋義
  • 詞性識別:自動標注單詞詞性(名詞/動詞等)
  • 網(wǎng)絡查詢:實時獲取最新詞典數(shù)據(jù)
  • 離線查詢: 對以查過的單詞,首先在本地SQLITE數(shù)據(jù)庫查找

2. 數(shù)據(jù)存儲系統(tǒng)

  • 翻譯歷史
    • 自動存儲所有查詢記錄
    • 字段包含:英文單詞、中文釋義、詞性、查詢時間
  • 生詞本管理
    • 支持手動添加/移除生詞
    • 按添加時間倒序排列
    • 獨立數(shù)據(jù)庫表存儲收藏關(guān)系
"""
小小詞典 V1.0 
Copyright (C) 2025  Yang xiaofan 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""
import sqlite3
import requests
from bs4 import BeautifulSoup
def init_db():
    conn = sqlite3.connect('translations.db')
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS translations
                 (id INTEGER PRIMARY KEY AUTOINCREMENT,
                  english TEXT UNIQUE NOT NULL,
                  chinese TEXT NOT NULL,
                  pos TEXT,
                  create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP)''')
    # 新增生詞本表
    c.execute('''CREATE TABLE IF NOT EXISTS vocabulary_book
                 (id INTEGER PRIMARY KEY AUTOINCREMENT,
                  word_id INTEGER UNIQUE,
                  add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                  FOREIGN KEY(word_id) REFERENCES translations(id))''')
    conn.commit()
    conn.close()
def add_to_vocabulary(word):
    conn = sqlite3.connect('translations.db')
    c = conn.cursor()
    # 獲取單詞ID
    c.execute("SELECT id FROM translations WHERE english=?", (word,))
    word_id = c.fetchone()
    if word_id:
        try:
            c.execute("INSERT OR IGNORE INTO vocabulary_book (word_id) VALUES (?)", 
                     (word_id[0],))
            conn.commit()
            print(f"【{word}】已成功加入生詞本")
        except sqlite3.IntegrityError:
            print(f"【{word}】已在生詞本中")
    else:
        print("請先查詢該單詞確保其存在于數(shù)據(jù)庫")
    conn.close()
def show_vocabulary():
    conn = sqlite3.connect('translations.db')
    c = conn.cursor()
    c.execute('''SELECT t.english, t.chinese, t.pos 
                 FROM translations t JOIN vocabulary_book v ON t.id = v.word_id
                 ORDER BY v.add_time DESC''')
    print("\n=== 我的生詞本 ===")
    for idx, (en, cn, pos) in enumerate(c.fetchall(), 1):
        print(f"{idx}. {en} ({pos}): {cn}")
    conn.close()
def save_to_db(english, chinese, pos):
    conn = sqlite3.connect('translations.db')
    c = conn.cursor()
    c.execute("INSERT OR IGNORE INTO translations (english, chinese, pos) VALUES (?, ?, ?)",
              (english, chinese, pos))
    conn.commit()
    conn.close()
def check_in_db(word):
    conn = sqlite3.connect('translations.db')
    c = conn.cursor()
    c.execute("SELECT english, chinese, pos FROM translations WHERE english=?", (word,))
    result = c.fetchone()
    conn.close()
    return result if result else None
def translate_with_pos(word):
    # 先查本地數(shù)據(jù)庫
    db_result = check_in_db(word)
    if db_result:
        print(f"該單詞已在本地數(shù)據(jù)庫查找到,翻譯解釋如下:")
        print(f"{db_result[0]} ({db_result[2]}): {db_result[1]}")
        choice = input("繼續(xù)網(wǎng)絡查詢請輸入w,直接退出請按回車:").strip().lower()
        if choice != 'w':
            return None
    url = f"https://dict.youdao.com/w/eng/{word}/"
    headers = {'User-Agent': 'Mozilla/5.0'}
    try:
        response = requests.get(url, headers=headers)
        soup = BeautifulSoup(response.text, 'html.parser')
        # 獲取中文釋義
        trans = soup.find('div', class_='trans-container').get_text(strip=True)
        # 獲取詞性標注
        pos_tag = soup.find('span', class_='pos')
        pos = pos_tag.get_text() if pos_tag else "無詞性標注"
        save_to_db(word, trans, pos)
        return f"{word} ({pos}): {trans}"
    except Exception as e:
        return f"翻譯失敗: {str(e)}"
if __name__ == "__main__":
    init_db()
    print("命令: \q 退出;\w 加入生詞本 \s 查看生詞本 \h 查看幫助")
    while True:
        query = input("請輸入英文單詞或命令(輸入\q退出): ").strip()
        if query.lower() == '\q':
            break
        if query.lower() == '\w':
            word = input("輸入要收藏的單詞: ").strip()
            add_to_vocabulary(word)
            continue
        if query.lower() == '\s':
            show_vocabulary()
            continue
        if query.lower() == '\h':
            print("命令: \q 退出;\w 加入生詞本 \s 查看生詞本 \h 查看幫助")
            continue
        trans = translate_with_pos(query)
        if trans:
            print(f"-    {trans}")

運行實例:

(.venv) D:\sanxia-src>translate.py
命令: \q 退出;\w 加入生詞本 \s 查看生詞本 \h 查看幫助
請輸入英文單詞或命令(輸入\q退出): \s
=== 我的生詞本 ===
1. water (n.): n. 水,雨水;水域,(江、河、湖、海等)大片的水;(某個國家的)領(lǐng)海,海域(waters);不明朗(或未知的、困難、危險等)局面(waters);羊水(waters);(湖、海的)水面;水位;乘船,走水路v. 給……澆水,灌溉;給…...水喝,飲(動物);(風等使眼睛)流淚;流口水;(江河)流經(jīng)并給(某地區(qū))供水;加水沖淡,稀釋【名】 (Water)(英)沃特(人名)[
                    復數(shù)
        waters
                     第三人稱單數(shù)
        waters
                     現(xiàn)在分詞
        watering
                     過去式
        watered
                     過去分詞
        watered
                   ]
請輸入英文單詞或命令(輸入\q退出): yes
-    yes (n.): adv. 是,是的n. 是(表示肯定)[
                    復數(shù)
        yesses或yeses
                     第三人稱單數(shù)
        yesses或yeses
                     現(xiàn)在分詞
        yessing
                     過去式
        yessed
                     過去分詞
        yessed
                   ]
請輸入英文單詞或命令(輸入\q退出): level
-    level (n.): n. 數(shù)量,程度;標準,水平;層次,級別;看待(或應對、理解)事物的方式;水平高度,相對高度;樓層;平地;水平儀adj. 平坦的,水平的;相同價值的,相同地位的;比分相同的;平靜的,冷靜的v. 使平整;推倒,夷平;(使)比分相同;(尤指用槍)瞄準;針對……(進行批評等);穩(wěn)定下來,達到平衡(level off);坦誠相見;作水準測量【名】 (Level)(法)勒韋爾(人名)[
                    復數(shù)
        levels
                     第三人稱單數(shù)
        levels
                     現(xiàn)在分詞
        levelling或leveling
                     過去式
        levelled或leveled
                     過去分詞
        levelled或leveled
                   ]
請輸入英文單詞或命令(輸入\q退出): jackfruit
-    jackfruit (n.): n. 木菠蘿;菠蘿蜜

到此這篇關(guān)于Python 翻譯詞典小程序功能說明的文章就介紹到這了,更多相關(guān)Python 翻譯詞典內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)自動生成SQL語句

    python實現(xiàn)自動生成SQL語句

    在數(shù)據(jù)處理和管理中,SQL(Structured?Query?Language)是一種非常重要的語言,本文主要介紹了如何使用python實現(xiàn)自動生成SQL語句,需要的可以參考下
    2024-04-04
  • 詳解分布式系統(tǒng)中如何用python實現(xiàn)Paxos

    詳解分布式系統(tǒng)中如何用python實現(xiàn)Paxos

    提到分布式算法,就不得不提 Paxos 算法,在過去幾十年里,它基本上是分布式共識的代 名詞,因為當前最常用的一批共識算法都是基于它改進的。比如,F(xiàn)ast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 協(xié)議等等。
    2021-05-05
  • GitHub?AI編程工具copilot在Pycharm的應用

    GitHub?AI編程工具copilot在Pycharm的應用

    最近聽說github出了一種最新的插件叫做copilot,這篇文章主要給大家介紹了關(guān)于GitHub?AI編程工具copilot在Pycharm的應用,目前感覺確實不錯,建議大家也去使用,需要的朋友可以參考下
    2022-04-04
  • Python實現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機的步驟

    Python實現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機的步驟

    這篇文章主要介紹了Python實現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機的步驟,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • OpenCV+Imutils實現(xiàn)圖像的旋轉(zhuǎn)操作

    OpenCV+Imutils實現(xiàn)圖像的旋轉(zhuǎn)操作

    imutils是在OPenCV基礎(chǔ)上的一個封裝,達到更為簡結(jié)的調(diào)用OPenCV接口的目的,它可以輕松的實現(xiàn)圖像的平移,旋轉(zhuǎn),縮放,骨架化等一系列的操作。本文將用其實現(xiàn)圖像的旋轉(zhuǎn)操作,感興趣的可以學習一下
    2022-05-05
  • python3翻轉(zhuǎn)字符串里的單詞點的實現(xiàn)方法

    python3翻轉(zhuǎn)字符串里的單詞點的實現(xiàn)方法

    這篇文章主要介紹了python3翻轉(zhuǎn)字符串里的單詞點的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • PyCharm中關(guān)于安裝第三方包的三個建議

    PyCharm中關(guān)于安裝第三方包的三個建議

    這篇文章主要介紹了PyCharm中關(guān)于安裝第三方包的三個建議,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 對python中for、if、while的區(qū)別與比較方法

    對python中for、if、while的區(qū)別與比較方法

    今天小編就為大家分享一篇對python中for 、if、 while的區(qū)別與比較方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python 獲取命令行參數(shù)內(nèi)容及參數(shù)個數(shù)的實例

    Python 獲取命令行參數(shù)內(nèi)容及參數(shù)個數(shù)的實例

    今天小編就為大家分享一篇Python 獲取命令行參數(shù)內(nèi)容及參數(shù)個數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • OpenCV實現(xiàn)圖像濾波之雙邊濾波

    OpenCV實現(xiàn)圖像濾波之雙邊濾波

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)圖像濾波之雙邊濾波,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

江门市| 策勒县| 巧家县| 柯坪县| 吴旗县| 湘阴县| 梧州市| 佛冈县| 秦皇岛市| 张家口市| 宣城市| 郧西县| 十堰市| 辽源市| 柳林县| 乳源| 紫阳县| 手游| 花莲市| 沁源县| 离岛区| 阳西县| 古丈县| 方正县| 龙胜| 吉安市| 沾化县| 驻马店市| 舟山市| 阳曲县| 太康县| 桦川县| 栾城县| 英超| 息烽县| 朝阳区| 太康县| 仪陇县| 林西县| 东阳市| 读书|