2016-11-08 6 views
0

У меня есть ноутбук iPython, у которого есть блоки кода, из которых я хочу иметь возможность остановиться в точках, пока он выполняется.Выйти за пределы цикла, вернуться за пределы функции - iPython Notebook

Код загружает запрос из API и по первому возврату определяет максимальные строки и содержит ли они выборочные данные.

В зависимости от того, имеет ли он данные для выборки, и в какой степени, мне бы хотелось, чтобы опция остановила код до цикла while, который будет итеративно загружать полный набор данных.

«разбить» код у меня есть, как показано ниже:

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

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

Я попытался возвращение и перерыв, который и выдает ошибки (хотя они делают остановки кода). Кроме того, у меня есть усталость quit(), однако я не хочу перезапускать ядра и повторно импортировать модули/создавать переменные.

Есть ли какой-либо способ, вне цикла, а не внутри функции, в которой вы можете остановить код, не покидая экземпляр?

+0

Вы хотите прекратить выполнение кода без выхода из программы? – Nurjan

+0

Да, это правильно – sdhaus

+0

Думаю, вам нужно использовать циклы. В чем проблема с ними? – Nurjan

ответ

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(), как вы уже пробовали, но он выйдет из программы.

Смежные вопросы