gpt4 book ai didi

ipython - 在全部运行期间选择在 ipython notebook 中运行哪些单元格的简单方法

转载 作者:行者123 更新时间:2023-12-04 10:00:05 31 4
gpt4 key购买 nike

我有一个 ipython 笔记本,它在数据处理例程中运行多个步骤,并在此过程中将信息保存在文件中。这样,在开发我的代码时(主要在一个单独的 .py 模块中),我可以跳到并运行各个步骤。我想设置它以便我可以Cell -> run all但只让它执行某些很容易选择的选定步骤。例如,我设想定义我想在 dict 中运行的步骤,如下所示:

process = {
'load files':False,
'generate interactions list':False,
'random walk':True,
'dereference walk':True,
'reduce walk':True,
'generate output':True
}

然后这些步骤将根据这个字典运行。顺便说一句,每个步骤都包含多个单元格。

我认为 %macro不是我想要的,因为任何时候我改变任何东西或重新启动内核我都必须重新定义宏,改变单元格数。

有没有像 %skip%skipto魔法或类似的东西?或者也许是一个干净的方式放在单元格的开头, if process[<current step>]: %dont_run_rest_of_cell ?

最佳答案

您可以在自定义内核扩展的帮助下创建自己的跳过魔法。

skip_kernel_extension.py

def skip(line, cell=None):
'''Skips execution of the current line/cell if line evaluates to True.'''
if eval(line):
return

get_ipython().ex(cell)

def load_ipython_extension(shell):
'''Registers the skip magic when the extension loads.'''
shell.register_magic_function(skip, 'line_cell')

def unload_ipython_extension(shell):
'''Unregisters the skip magic when the extension unloads.'''
del shell.magics_manager.magics['cell']['skip']

在笔记本中加载扩展:
%load_ext skip_kernel_extension

在要跳过的单元格中运行 skip magic 命令:
%%skip True  #skips cell
%%skip False #won't skip

您可以使用变量来决定是否应使用 $ 跳过单元格:
should_skip = True
%%skip $should_skip

关于ipython - 在全部运行期间选择在 ipython notebook 中运行哪些单元格的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26494747/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com