Spaces:
Running
Running
File size: 1,154 Bytes
dd2233b 1112df1 dd2233b f2efbc0 dd2233b 1112df1 f2efbc0 dd2233b f2efbc0 dd2233b f2efbc0 dd2233b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import sqlite3
import os
DATA_DIR = "./data"
DB_PATH = os.path.join(DATA_DIR, "sentences.db")
# 建立資料表(若不存在)
def init_db():
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS sentences (
word TEXT PRIMARY KEY,
phonetic TEXT,
sentence TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
conn.commit()
conn.close()
# 查句庫,傳回 (word, phonetic, sentence) 或 None
def get_sentence(word):
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('SELECT word, phonetic, sentence FROM sentences WHERE word=?', (word,))
result = c.fetchone()
conn.close()
return result
# 保存句子到 SQLite
def save_sentence(word, phonetic, sentence):
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()
c.execute('''
INSERT INTO sentences (word, phonetic, sentence)
VALUES (?, ?, ?)
ON CONFLICT(word) DO UPDATE SET sentence=excluded.sentence, phonetic=excluded.phonetic
''', (word, phonetic, sentence))
conn.commit()
conn.close()
# 初始化資料表
init_db()
|