当 PyMySQL 查询返回元组的元组时,如何使用 IN 运算符搜索结果?

问题描述 投票:0回答:1

我有一个包含 ipv4 地址的 MySQL 数据库表,我想要搜索,我使用 SQL 查询(PyMySQL 库)将其拉入 Python,并在 SELECT 和cursor.fetchall() 中使用单个列,但是当我循环遍历结果元组。

with conn.cursor() as cur:
    sqlQuery = 'SELECT ipv4_address FROM bad_ips WHERE IS NOT NULL'
    cur.execute(sqlQuery)
    bad_ips  = cur.fetchall() 
conn.close()

当我循环遍历它时,它似乎返回一个元组的元组,显示这样的事情:

('192.168.1.1',) ('192.168.1.5',)

我希望它只返回预期的 IP 地址,如下所示:

'192.168.1.1' ‘192.168.1.5’

这样我就可以使用以下方式查找 IP:

if str(this_ip_address) in bad_ips:
python pymysql
1个回答
0
投票

您可以将元组的第一个元素展开到列表中,执行如下操作:

bad_ip_list = [x[0] for x in bad_ips]

然后迭代 bad_ip_list。

© www.soinside.com 2019 - 2024. All rights reserved.