在 Google Datalab 笔记本上停止执行单元格的最佳方法是什么?

What is the best way to stop execution of a cell on a Google Datalab notebook?

如果满足某些条件,我想停止在 Google Datalab 笔记本上执行 python 命令的单元格的执行。

在不影响笔记本其余部分的情况下执行此操作的首选方法是什么?

if x:
   quit()

会使笔记本崩溃。

一个可能的解决方案是将您的代码包装在一个函数中并使用 return 提前退出。

def do_work():
  stopExecution = True
  if stopExecution:
     return

  print 'do not print'

do_work()

另一个解决方案是引发异常:

stopExecution = True
if stopExecution:
   raise Exception('Done')

print 'do not print'

更好的解决方案是使用 if 语句允许代码执行,而不是阻止它。例如,

if ShouldIContinueWorking():
   doWork()
else:
   print 'Done' # do nothing (preferred) or return from function