我的脚本首先读取数据文件,然后继续分析/绘制它。我希望程序逐行读取文件,然后在数据文件中点击#时停止查找行,此时我希望它继续其余的代码(绘图/分析等)。我一直在环顾四周,尝试过sys.exit()
和break
,但他们不允许程序继续进行分析过程,它只是退出。完全迷失了。
了解更多信息......
for i in range(WL):
if(data[i][0]=='#'):comments=comments+1
else:
#analytic stuff
#more stuff
这就是最初编写的内容。这不是我的东西,所以我发现我得到这种格式的错误,我想修改它并使#终止字符。 在尝试@Lev_Levitsky的建议后,我现在得到了类型错误
flux=np.append(flux,data[i][1])
IndexError: list index out of range
为什么会这样?
这是新面貌
for i in range(WL):
if '#' in line:
break
else:
#analyze
答案 0 :(得分:3)
break
就是您所需要的。它将带你离开你从文件中读取行的循环,并带你到循环之后的任何东西:
with open('data') as f:
for line in f:
if '#' in line:
break
# do something else in the loop
# like append something to a list
# analyze the data
答案 1 :(得分:1)
根据您刚刚向我们展示的内容,您要做的是:
for i in range(WL):
if(data[i][0]=='#'):
comments=comments+1
break
else:
#analytic stuff
#more stuff
这与列夫所建议的完全相同,只是我明确说明了你的休息时间。