我循环遍历文件中的所有行,将每行拆分为基于空格的标记。例如,一行:circle 1 2 3
将分为4个令牌,circle
,1
,2
,3
。
如果该行以评论(#
)开头或为空,则我的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循环?
答案 0 :(得分:5)
使用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)