如何在窗口输出中去掉“{}”?(Python / SQLite3)

0pizxfdo  于 2022-11-24  发布在  SQLite
关注(0)|答案(2)|浏览(135)

我在做一个抽认卡游戏来问CompSci的问题
我尝试检索一个随机的“CardFront”,它作为一个存储在SQLite3 DB表中的varchar,并将结果输出到一个消息框,以“提示”用户问题。
唯一的问题我似乎不能弄清楚的是,为什么它返回的语句周围有弯曲的括号?

from tkinter import *
import sqlite3
from tkinter import messagebox

def retrieve_random_cardfront():
    conn = sqlite3.connect('flashcards.db')
    cursor = conn.cursor()
    cursor.execute("SELECT CardFront FROM FLASHCARDS ORDER BY RANDOM() LIMIT 1;")
    result = cursor.fetchall()
    conn.close()
    messagebox.showinfo(title='Test', message=result[0])

Current Output

dpiehjr4

dpiehjr41#

您可以尝试将此作为修复方法,但此处发生的情况尚不清楚。也许可以检查结果对象的__repr__

from tkinter import *
import sqlite3
from tkinter import messagebox

def retrieve_random_cardfront():
    conn = sqlite3.connect('flashcards.db')
    cursor = conn.cursor()
    cursor.execute("SELECT CardFront FROM FLASHCARDS ORDER BY RANDOM() LIMIT 1;")
    result = cursor.fetchall()
    conn.close()
    messagebox.showinfo(title='Test', message=str(result[0]).strip('{').strip('}'))
wrrgggsh

wrrgggsh2#

我想你可以实现类似这样的东西来删除那个“{}"。但是因为我不知道使用SQLite,我可以给予你一个更精确的答案。

data = "{Data}"
data = data.replace(data[0], "")
data = data.replace(data[-1], "")
print(data)

相关问题