Jupyter笔记本:一个循环内编程方式运行笔记本电脑电池

问题描述 投票:0回答:1

我想一个函数中run a specific jupyter code cell。唯一的选择,我发现执行单元是:

IPython.display.Javascript("Jupyter.notebook.execute_cells([4])")

这是工作,但只要我实现的代码到它没有做任何事情了Python函数:

if version_val == ():
        IPython.display.Javascript("Jupyter.notebook.execute_cells([4])")

这是整个代码我试图执行(每个单元被标记在一个新的块): 1:

import os
import ipywidgets as widgets
import IPython
from IPython.display import Javascript
import plotly as py
import plotly.graph_objs as go

2:

if os.path.exists("Test"):
    test_exists = True
else:
    test_exists = False
    print("Found no folder named 'Test'!")

if test_exists:
subfolder = os.listdir("Test")

3:

enter2 = widgets.Button(description = "Enter")
version_val = ()
def update_d(self):
    IPython.display.clear_output()
    global dt
    dt = dropdown_testcase.value
    global subsubfolder
    subsubfolder = os.listdir(r"Test\{}".format(dt))
    global dropdown_version
    dropdown_version = widgets.SelectMultiple(options=subsubfolder, description="Mark Both <br> for <br>Comparison")
    display(dropdown_version)
    enter2.on_click(start_all)
    display(enter2)

def start_all(self):
    global version_val
    version_val = dropdown_version.value
    if version_val == ():
        print("Choose your data !")
    if version_val == ('Files',):
        IPython.display.Javascript("Jupyter.notebook.execute_cells([3])")



if test_exists:
    dropdown_testcase = widgets.Dropdown(options=subfolder, description="Testcase")
    enter = widgets.Button(description = "Enter")
    enter.on_click(update_d)
    display(dropdown_testcase)
    display(enter)

4:

x = [0,1,2,3]
y = [0,1,2,3]

trace = [go.Scatter(x=x, y=y, mode="markers")]
fig = go.Figure(data=trace)

py.offline.iplot(fig)

我需要在最后一个单元格要执行的情节。

它需要你打造笔记本电脑的文件夹并命名为任何你喜欢的一个子文件夹中的文件夹“测试”。而在该子文件夹必须是一个名为“文件” subsubfolder。

有谁知道如何解决这个问题?

提前致谢!

javascript python jupyter-notebook ipython cell
1个回答
0
投票

(我的答案涉及的问题如何run a specific jupyter code cell) 在Jupyter笔记本电脑,你可以用In[]Out[]访问细胞的含量。下面是一个简单的代码来尝试:

假设[13]也有一定的计算已经完成的代码单元:

In [13]:   1+2+3+4+5
Out [13]:  15

某处在同类笔记本中,您可以访问并运行在像这样的小区的代码:

print("Result from execution the cells above:", eval(In[13]), Out[13])

你应该得到的结果作为

('Result from execution the cell above:', 15, 15)

希望这是有帮助的。

© www.soinside.com 2019 - 2024. All rights reserved.