需要一个程序在命中字符python后退出吗
我的脚本首先读取数据文件,然后继续分析/打印它。我希望程序逐行读取文件,然后在数据文件中遇到a时停止查找行,在这一点上,我希望它继续进行其余部分的代码绘制/分析等。我一直在四处查看,并尝试了sys.exit和break,但它们不允许程序继续进行分析过程,它只是出口。完全迷路了 欲了解更多信息需要一个程序在命中字符python后退出吗,python,for-loop,Python,For Loop,我的脚本首先读取数据文件,然后继续分析/打印它。我希望程序逐行读取文件,然后在数据文件中遇到a时停止查找行,在这一点上,我希望它继续进行其余部分的代码绘制/分析等。我一直在四处查看,并尝试了sys.exit和break,但它们不允许程序继续进行分析过程,它只是出口。完全迷路了 欲了解更多信息 for i in range(WL): if(data[i][0]=='#'):comments=comments+1 else: #analytic stuff #more stuff 这是最初用英
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
休息是你需要的。它将使您脱离从文件中读取行的循环,并将您带到循环后面的任何内容:
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
根据你刚才向我们展示的,你想做的是:
for i in range(WL):
if(data[i][0]=='#'):
comments=comments+1
break
else:
#analytic stuff
#more stuff
这与Lev的建议完全相同,只是我已经明确说明了在哪里休息。休息正是你需要的。你用它做了什么不起作用的尝试?下次,发布你的代码@MartijnPieters请检查我的编辑。@Matt:你的休息时间在哪里?@MartijnPieters抱歉,重新编辑。谢谢。我知道和像我这样不太直率的人打交道很烦人。再次感谢您的帮助。@Matt虽然有时答案显示了一个可以解决问题的概念,但没有在问题的上下文中提供解决方案,这是一个基本的例子;您需要花一些时间来尝试正确地实现提供的解决方案,而不仅仅是复制粘贴代码并期望它工作。