2017-05-02 312 views
-2

如何删除在下面的标签中调用变量结果时显示的方括号和引号。如何删除方括号和引号

sql = "SELECT question FROM questions WHERE id='1'" 
cursor.execute(sql) 
result = cursor.fetchone()enter code here 
print result 
# print(result) 
root6 = Tk() 

root6.title("EVALUATION -FORM") 
root6.geometry("450x300") 
var6 = IntVar() 


# disconnect from server 
db.close() 
k = Label(root6, text=result) 
k.pack() 
k.place(x=20, y=15) 
+2

请参见[提问]和 - 特别 - 把一些关心和照顾到建设[MCVE](现在,这个代码不独立运行,所以别人不能看到自己的问题,所以不能测试他们提出的修复是否真正起作用)。 –

+1

如果您的问题是关于Tk如何呈现某些内容,那么提供屏幕截图或详细的文字描述(包含确切字符串)呈现什么内容(或者理想情况下是两者)会有所帮助。 –

回答

1

用我ESP的力量来回答的不足,提出问题:

你越来越像印刷("This is the question",)["This is the question"]因为fetchone()返回的是一个列表或元组,而不是一个字符串。

这是因为fetchone()返回第一个行从数据库查询结果的,和行本质上是一个序列类型,可以包含多个项目。如果您选择了多个列,那么该行将需要包含多个字段,因此返回的数据类型是一个序列,能够包含这样的多个字段 - 从而使得处理数据库结果比如果返回值的类型更加一致根据每行中存在的列数而变化。


考虑:

row = cursor.fetchone() 
if row is None: 
    print 'ERROR: No question with id 1 found in the database' 
    sys.exit() 
result = row[0] 
print result