For loop 如何在for循环中运行jupyter笔记本宏
我在Jupyter笔记本中定义了一个宏For loop 如何在for循环中运行jupyter笔记本宏,for-loop,macros,jupyter-notebook,For Loop,Macros,Jupyter Notebook,我在Jupyter笔记本中定义了一个宏inc。我可以从另一个单元格运行宏。但是,宏不能在for循环中运行 [1] [2] [3] [4] [5] 产出2 [6] [7] 仍然输出2。我现在想到的最好的方法是使用run\u cell方法 首先,您需要使用get\u Ipython 完整示例 这不是一个让我完全满意的解决方案,但也许其他人可以添加更好的解决方案 注意:下面的解决方案适用于较老的Ipython 尝试将其作为可调用文件运行: for _ in range(10): inc() 你也可以
inc
。我可以从另一个单元格运行宏。但是,宏不能在for循环中运行
[1]
[2]
[3]
[4]
[5]
产出2
[6]
[7]
仍然输出2。我现在想到的最好的方法是使用
run\u cell
方法
首先,您需要使用get\u Ipython
完整示例
这不是一个让我完全满意的解决方案,但也许其他人可以添加更好的解决方案
注意:下面的解决方案适用于较老的
Ipython
尝试将其作为可调用文件运行:
for _ in range(10): inc()
你也可以阅读:
宏只是一个执行IPython字符串的可调用函数
我添加了()并得到了
TypeError:“Macro”对象不可调用
我添加了另一个应该适合您的解决方案
x += 1
%macro inc 2
inc
x
for _ in range(10): inc
x
ip = get_ipython()
for _ in range(5): ips.run_cell('inc')
for _ in range(10): inc()
In [20]: inc.__dict__
Out[20]: {'value': u'x += 1\n'}