Rol*_*bio 8 macros jupyter-notebook
在ipython笔记本中,我想以编程方式从代码单元本身中读取和执行代码单元.
就像是
if condition:
# run input cell no. 3
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一个解决方案,该函数逐个单元地execute_notebook读取ipynb文件并使用执行代码单元get_ipython().run_cell().
有没有办法做同样的事情,即没有先读取外部ipynb文件中的单元格?有没有办法编写宏,从ipython笔记本中引用和访问代码单元?
我不确定我是否正确理解你的问题。您希望能够操作与您当前正在使用的笔记本完全相同的笔记本吗?虽然这可能是可能的,但老实说,这听起来像是一场灾难,因为它很可能会让您当前正在运行的笔记本处于未定义的状态(或者至少会让您很难跟踪正在发生的事情)。
更简洁的解决方案可能是以编程方式生成一个单独的笔记本,在其中精确包含用例所需的代码单元,然后执行它。(或者,您可以拥有一个.ipynb包含虚拟代码单元的“模板”文件,然后以编程方式将其替换为您想要运行的实际代码)。
我最近需要做类似的事情,并编写了一个详细的示例来说明如何做到这一点。它以编程方式生成一个新的笔记本,添加一些降价和代码单元(在本例中生成一个正弦波图,其中频率被动态注入),然后执行该笔记本并保存结果以供进一步后处理。
我希望这有帮助。如果我完全误解了你想要做什么,请告诉我。