-1

我的脚本首先读取一个数据文件,然后继续分析/绘制它。我希望程序逐行读取文件,然后在数据文件中点击 # 时停止查找行,此时我希望它继续其余的代码(绘图/分析等)。我一直在环顾四周并尝试过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
4

2 回答 2

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
于 2013-06-21T21:12:03.473 回答
1

根据您刚刚向我们展示的内容,您想要做的是:

for i in range(WL):
    if(data[i][0]=='#'):
        comments=comments+1
        break
    else:
        #analytic stuff
        #more stuff

这与列夫建议的完全一样,除了我已经明确说明了你的休息时间。

于 2013-06-21T21:28:36.247 回答