Jupyter notebook 如何获得';执行计数';最近在IPython或Jupyter笔记本上执行的死刑?

Jupyter notebook 如何获得';执行计数';最近在IPython或Jupyter笔记本上执行的死刑?,jupyter-notebook,ipython,Jupyter Notebook,Ipython,IPython和Jupyter笔记本记录“执行计数”。例如,在输入和输出提示中显示:in[…]和Out[…] 如何以编程方式获取最新的执行计数 变量Out不能用于此: Out是一个字典,执行计数作为键,但只针对产生结果的单元格;请注意,并非所有(单元格)执行都需要生成结果(例如,print(…)) 中的变量似乎可用: 中的是所有输入的列表;[0]中的似乎总是以空字符串为开头,因此可以使用基于1的执行计数作为索引 但是,在代码中使用len(In)-1时,您需要考虑执行计数似乎在执行新代码之

IPython和Jupyter笔记本记录“执行计数”。例如,在输入和输出提示中显示:
in[…]
Out[…]

如何以编程方式获取最新的执行计数

变量
Out
不能用于此:

  • Out
    是一个字典,执行计数作为键,但只针对产生结果的单元格;请注意,并非所有(单元格)执行都需要生成结果(例如,
    print(…)
中的变量
似乎可用:

  • 中的
    是所有输入的列表;[0]
    中的
    似乎总是以空字符串为开头,因此可以使用基于1的执行计数作为索引
但是,在代码中使用
len(In)-1
时,您需要考虑执行计数似乎在执行新代码之前已更新。因此,实际上,您似乎需要使用
len(In)-2
来计算最近已经完成的执行的执行计数

问题:

  • 是否有更好的方法获取当前执行计数
  • 你能相信以上的观察结果吗(似乎)

在进一步挖掘之后,我发现了(令人惊讶的简单)答案:

从IPython导入获取
ipython=get_ipython()
... ipython.execution\u计数。。。
这并没有出现在IPython文档中,尽管这里可能(应该?)提到过:(我想属性没有文档化)。在这里,您确实可以找到
run\u line\u magic
(在对我的问题的评论中提到了这一点)

我找到该属性的方法是,如上所述定义
ipython
,然后在
ipython.
(但它没有文档)上执行代码完成(TAB)

为您提供有关
InteractiveShell
的文档,其中确实提到了
execution\u count
(尽管未确认其用途):


在某种程度上,我认为假设你的观察结果成立,你是安全的。您所引用的输入缓存系统已经相当完善,并且可以使用。您也可以使用
%hist-n
获取当前执行计数。@Wayne:我想在Python代码中包含执行计数。也许iPythonAPI提供了一种方法。我知道你可以让它执行魔法命令(比如
IPython.get\u IPython().run\u line\u magic(…)
),但这感觉像是一种非常迂回的方式。但这确实导致了答案。有两件事:a)在你定义了
ipython
之后,你也可以做
dir(ipython)
。其中列出了可用的函数和属性。b) 我认为在文档中,您会看到一些问题。社区资源有限。此外,Ipyton&Jupyter公司只有一家。例如,在中,
execute\u request
重定向到具有
execute\u count
功能的Jupyter文档。
help(ipython)
 |  execution_count
 |      An int trait.