我想以编程方式在Jupyter笔记本中创建多个单元格。
使用此功能,我可以创建一个单元格
def create_new_cell(contents):
from IPython.core.getipython import get_ipython
shell = get_ipython()
shell.set_next_input(contents, replace=False)
但是,如果我尝试多次调用它,例如从for循环中调用它,例如
for x in ['a', 'b', 'c']:
create_new_cell(x)
它将仅使用列表中的最后一项创建一个单元格。我试图找出是否有“冲洗”功能或类似功能,但没有成功。
有人知道如何以编程方式正确地编写多个单元格吗?
答案 0 :(得分:1)
我在shell.payload_manager
的代码中进行了更多研究,发现在set_next_input
的当前实现中,它没有将single
参数传递给{{1} }函数。这会阻止笔记本创建多个单元格,因为它们都具有相同的源(在这种情况下,shell.payload_manager.write_payload
函数)。
话虽如此,以下功能有效。基本上是set_next_input
函数将write_payload
参数设置为single
的代码。
False
希望这可以帮助某个人;)