【发布时间】:2017-08-16 07:53:29
【问题描述】:
我有一个代码:
我希望我的程序在执行第三个 if 语句后返回 for 循环。当我使用“继续”时,它会返回到第二个 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
【问题讨论】:
-
说明你想做什么,而不是如何你想做什么。到目前为止,您的问题不包含您的目标。
-
基本上我想捕获那些以'create'开头并以'Primary key'结尾的行之间的行。我的文件中有多个这样的行。所以我希望我的程序执行在遇到以“主键”开头的行时返回到 for 循环。
-
使用布尔标志在关键位置打开和关闭行的输出,让循环正常运行。
-
我不明白为什么它不起作用,但这就是为什么goto is considered harmful。
-
感谢您的 cmets。我尝试使用标志 .. 并且成功了!