如何在 python 中循环回到特定点

How to loop back in python to specific point

我有一个代码:

我希望我的程序在执行第 3 个 if 语句后返回到 for 循环。当我使用 "continue" 时,它返回到第二个 if 语句而不是返回到 for 循环。知道如何做到这一点吗?谢谢

row = 0  
for line in fh:

    if line.startswith('CREATE'):
        startrow = row
    if row > startrow:
        if line.startswith('PRIMARY KEY'): (then go to the for loop)
        print row
    row = row + 1

根据评论中的描述,您希望打印符合特定条件的行范围,很像 awk '/^CREATE/,/^PRIMARY KEY/ {print}'。出于某种原因,您已经从嵌套循环的概念中使用 goto 计划了这一点,而嵌套循环并不存在。我们可以编写嵌套循环,但我们不需要这样做。

printing = False
for line in fh:
    if line.startswith('PRIMARY KEY'):
        printing = False
    if printing:
        print row
    if line.startswith('CREATE'):
        printing = True

这个变种一开始不打印行,遇到CREATE就开始打印行,遇到PRIMARYKEY又立马停止。您可以重新排序这三个测试以实现其他组合,例如打印包含这些关键字的行。