Python数据之间的区别

标签 python mysql string execute

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

例如,mysql值= 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 仍然会提示@。

执行命令的语法如下:

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

所以在我的变量中,单引号也让我很困惑。我该如何写才能使MySql游标与标准字符串相同?

最佳答案

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

您需要显式获取第一个元素:

chatTo = cursor.fetchone()[0]

关于Python数据之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29590502/

相关文章:

python - Selenium 无法在 Internet Explorer 9 中切换到 TinyMCE iframe

mysql - 如何确定地球表面的哪些图像与任意给定图像重叠?

mysql - 将一个表复制到另外两个表的存储过程

python - 如何按字符串的最后一个字符对列表进行排序

c++ - Objective-C++ 将 std::string 转换为 NSString

python - 对齐没有公共(public)索引的 pandas DataFrame

python - 如何在 Windows 中使用 Python 删除只读属性目录?

java - 在客户端和服务器之间将字符串转换为 byte[] 并返回字符串

Python:忽略 elementtree.ElementTree 中的 xmlns

MySQL 和动态查询错误 1064