gpt4 book ai didi

python - 比较元组值

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:36 25 4
gpt4 key购买 nike

我是 Python/Flask 的新手,正在为我正在玩的一些家庭自动化编写一个小脚本。

目前,我的脚本中有一个由 cron 作业运行的路由。这会嗅探蓝牙数据包以查看谁在屋子里和谁不在屋子里,这样我就可以控制暖气。在我的表格中,每个人各占一行,状态为“在”或“出”。

这非常有效。

我有另一种方法来读回这些值,并根据它们是进还是出在我的仪表板上显示绿色或红色条。

它正在读取值并执行一些我遇到问题的逻辑。

如果我获得一个人的状态并将其显示在我的仪表板上(使用 HTML 模板创建),它显示的值是:

('在',)

在 MySQL 表中它只是 In - 没有引号或括号。

在我的 Python 脚本中我有:

conn = MySQLdb.connect(host="localhost", user = "*****", passwd = "*****", db = "mydb")
cursor = conn.cursor()
cursor.execute("select status from occupants WHERE id = '1'")
data = cursor.fetchone()
result = data
#result = str(result)
if (result == "In"):
result = "In"
else:
result = "Out"

这总是返回 Out。

我在我的 if 语句中尝试了各种方法,但显然我没有找到正确的方法。我什至尝试过:

if (result == "('In',)")

但即使这样也会返回 Out。

我已经开始为此搜索和玩了大约 2 天了,现在开始抓狂了。

感谢收到的任何想法!

最佳答案

您需要通过索引获取值。Python 返回行的元组。您需要获取第一列。

通过索引取值即可,data[0]

然后你继续比较。

编辑:当您使用“in”运算符时,您只是在遍历元组。

它有效但不是一个好主意,当您已经确定您要查找的数据位于索引 0 时。

关于python - 比较元组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53098087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com