如何将for循环修复为其他内容

2024-09-30 20:20:31 发布

您现在位置:Python中文网/ 问答频道 /正文

目前,我已经设置了一个for loop,它从数据库中检索每一行的数据。 我需要使用run-while循环,但是它不会运行,因为for循环在检索数据库数据后完成一次。结果,这将停止我的While true循环的其余部分,以等待用户响应

c.execute("SELECT * FROM maincores WHERE set_status = 1")
rows = c.fetchall()
for v in rows:
        # skip
        while True:
               #skip

我尝试使用一个全局变量来存储数据库数据,然后返回循环,所有这些都导致了失败。 如何在不使用for循环的情况下获取sqlite3数据库信息


Tags: 数据run用户fromloop数据库truefor
1条回答
网友
1楼 · 发布于 2024-09-30 20:20:31

我对这个问题不是百分之百的了解,但我认为你可能想使用一个生成器,这样你就可以通过循环来限制信息的吸收。因此,您可以执行如下功能:

def getDBdata():
    c.execute("SELECT * FROM maincores WHERE set_status = 1")
    rows = c.fetchall()
    for v in rows:
        yield(v) #just returns one result at a time ...

x = True
data = getDBdata()
while x is True:
    do something with data
    if <condition>:
        next(data) #get the next row of data
    else:
        x = False

因此,现在您正在控制数据库中的数据流,这样就不会耗尽while循环作为数据流的条件

如果我没有回答你的问题,我深表歉意,但我希望这能有所帮助

相关问题 更多 >