如何检索上一个命令的输出并将其保存在Python交互式shell中的变量中?

时间:2014-03-10 20:36:39

标签: python python-interactive

假设我运行了一个昂贵的操作foo(),它返回了一个很大的列表,但我忘了将foo()的输出保存在变量中。

假设我再次运行foo(),我会得到不同的输出。

但是我第一次运行foo()时确实需要输出。

实际上,我问是否有一些缓冲区存储了最后一个命令的输出,我可以读到它?

2 个答案:

答案 0 :(得分:5)

_(单下划线)适用于我的python 3 for windows,也适用于其他版本:

>>> 1 + 1
2
>>> x = _
>>> x
2

答案 1 :(得分:2)

_字符(单个下划线)已定义作为所有Python版本中最后一次评估的输出,但仅限于交互式shell中。请参阅:the docs

示例:

>>> def foo():
>>>     return 3
>>> foo()
3
>>> _ + 1
4

根据您的问题,听起来您只关心如何在交互式shell中执行此操作;为了完整性的利益,没有为非交互式shell定义上述功能。