突破循环,返回函数外部 - iPython Notebook

时间:2016-11-08 02:40:33

标签: python-2.7 ipython break

我有一个iPython笔记本,其中包含一些代码块,我希望它能够在执行时有机会停止。

代码从API下载查询,并在第一次返回时确定最大行数以及是否包含采样数据。

根据它是否有采样数据,以及在多大程度上,我希望选择在while循环之前停止代码,迭代地下载完整数据集。

我所拥有的“中断”代码如下:

print "Contains sampled data? " + str(metadata["containsSampledData"])

print "Break query? -> Y"
bi = raw_input()
if bi == "Y":
    break

我已经尝试了返回和中断,它们都会出错(尽管它们会停止代码)。另外,我已经厌倦了quit()但是我不想重置内核并重新导入模块/创建变量。

有没有办法,在循环之外,而不是在一个函数内,你可以停止代码,而不退出实例?

1 个答案:

答案 0 :(得分:0)

我认为您需要重新思考并重写程序的逻辑。

print "Contains sampled data? " + str(metadata["containsSampledData"])

while True:
    # Check the condition with your API stuff here
    # and exit or ask everytime if the condition is true as shown below
    print "Break query? -> Y"
    bi = raw_input()
    if bi == "Y":
        break 

# Continue executing your code here.

另一种选择是使用sys.exit(),但是它会退出程序。