Python之间的数据区别

时间:2015-04-12 14:27:41

标签: python mysql string execute

我有一个Pyhton脚本,它从本地MySql表中提取单元格值,但数据与String不同。

例如,mysql value = fromme@server.com

我的原始工作方法功能正常如下:

chatFrom = 'fromme@server.com'

然后我在执行函数中使用了这个变量:

chat.main(['-c', chatTo, '-u', chatFrom, '-p', chatPass, '-m', chatMessage])

现在我想通过使用MySql表使变量动态化:

chatToCursor = (cursor.execute('SELECT value from configuration WHERE label = "chatTo"'))
chatTo = cursor.fetchone()

然后在完全相同的执行函数中使用它,但我得到的问题是值以某种方式不相同。 Python抱怨在值中使用“@”。以前,它没有抱怨,因为我认为这是因为“chatTo”最初是一个字符串,所以没关系。

所以即使我使用str(chatTo)python仍然抱怨@。

execute命令的语法如下:

chat.main(['-c', 'to@server.com', '-u', 'user@server.com', '-p', 'pass', '-m', 'message'])

所以在我的变量中,单引号也让我搞砸了。我该怎么写这个,以便MySql游标与标准字符串相同?

1 个答案:

答案 0 :(得分:2)

cursor.fetchone()总是返回一个元组,即使只有一个要返回的元素。因此,您的chatTo变量实际上是('to@server.com',)

您需要明确获取第一个元素:

chatTo = cursor.fetchone()[0]