我想在循环传递参数中运行整个Jupyter笔记本。我可以按照此处Passing command line arguments to argv in jupyter/ipython notebook的说明,以麻烦的方式(带有附加组件)传递参数。我可以用更简单的方式做吗?
答案 0 :(得分:1)
可以简单地在调用%run
之前在单元格中初始化参数(被调用笔记本的变量)。在通话笔记本中:
for i in range (1,3):
for j in range (0,4):
param1 = i
param2 = j
%run ./foo.ipynb
为了能够在正在运行的笔记本中初始化这些变量,以便于单独使用(作为整体运行),可以在初始化How do I check if a variable exists?之前检查变量是否存在。在foo.ipynb
中:
if not 'param1' in locals():
param1 = 1
由于整个笔记本的多次运行将在一个单元格中输出,因此可能会启动自动滚动(默认情况下处于打开状态)。要禁用它,请遵循Disable iPython Notebook Autoscrolling,例如在菜单cell
-> all output
-> toggle autoscrolling
中。