我循环遍历文件中的所有行,根据空格将每行拆分成标记。例如,一行:circle 1 2 3
将被分成4个标记:circle
、1
、2
、3
。
如果行以注释(#
)开头或为空,则my tokenList
也为空。如果是这种情况,我不能检查tokenList[0]
等。
如果列表的大小是0,我想跳到下一行- for
循环中的下一个循环:
for line in self.myFile:
tokenList = self.getTokens(line)
if len(tokenList) == 0:
## ISSUE HERE
if tokenList[0] == "shape":
s = RayTracerShapes.Shape()
self.scene.addShape(s)
我尝试了break
,但这似乎直接跳出了循环,而不是结束当前的迭代。有没有一种方法可以跳出我所在的循环,进入下一个循环,而不是完全跳出for循环?
发布于 2012-08-09 12:28:19
使用continue关键字。
当遇到continue
时,将跳过循环体中的其余语句,并从循环顶部继续执行。
这个SO问题可能会有帮助:Example use of "continue" statement in Python?和这个quick reference有两个简短的用法示例。
在您的案例中:
for line in self.myFile:
tokenList = self.getTokens(line)
if len(tokenList) == 0:
continue # skip the rest of the loop, go back to top
if tokenList[0] == "shape":
s = RayTracerShapes.Shape()
self.scene.addShape(s)
https://stackoverflow.com/questions/11876814
复制相似问题