【发布时间】:2015-08-04 14:38:12
【问题描述】:
我想知道是否可以为输入的每一行执行一个命令。
能够打开/关闭它会很棒。
我的应用程序是在调试期间向 GUI 发送“更新”命令。 同样有趣的可能是将输入的内容通过管道传输到文件等。
示例:
In [1]: h.Draw("E","","")
Out[1]: 1922L
In [2]: h1.Draw("E","","same")
Out[2]: 1234L
In [3]: rt.gPad.Modified();rt.gPad.Update()
In [4]: h2.Draw("E","","same")
Out[4]: 3214L
In [5]: rt.gPad.Modified();rt.gPad.Update()
转换为:
In [1]: startUpdating()
In [2]: h.Draw("E","","")
Out[2]: 1922L
In [3]: h1.Draw("E","","same")
Out[3]: 1234L
In [4]: h2.Draw("E","","same")
Out[4]: 3214L
【问题讨论】:
-
您不只是在描述交互式会话和运行脚本之间的区别吗?
-
不完全是,我想。在交互式会话中没有自动化,因此它只执行,输入什么。我想自定义交互式会话。
-
“它只被执行,输入什么” - 而不是......什么,究竟是什么?你认为这点是什么?你想达到什么目的?您要调试什么 GUI?您现在如何运行它,这会导致什么问题?
-
添加了一个例子。在 pyroot 中,我需要在特定用例中绘制后更新 TCanvas
-
get_ipython().events.register('pre_run_cell', func)将在您输入的每个代码块之前注册一个要调用的函数。如果您希望它在您键入的代码之后运行,请将“pre”更改为“post”。