Как получить результат предыдущей команды и сохранить ее в переменной внутри интерактивной оболочки Python?

Скажем, я запускал дорогостоящую операцию foo (), которая возвращает мне большой список, но я забыл сохранить вывод foo () внутри переменной.

Предположим, что если я снова запустил foo (), я получу другой результат.

Но мне действительно нужен вывод с первого раза, когда я запускал foo ().

По сути, я спрашиваю, есть ли какой-нибудь буфер, который хранит вывод последней команды, которую я мог бы прочитать?

2 Solutions collect form web for “Как получить результат предыдущей команды и сохранить ее в переменной внутри интерактивной оболочки Python?”

_ (одно подчеркивание) работает для меня в python 3 для окон, также должен работать и для других версий:

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

Символ _ (одно подчеркивание) определяется как результат последней оценки во всех версиях Python, но только в интерактивной оболочке. Смотрите: документы

Пример:

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

Основываясь на вашем вопросе, похоже, что вы только заботитесь о том, как это сделать в интерактивной оболочке; для обеспечения полноты вышеуказанная функциональность не определена для неинтерактивной оболочки.

Python - лучший язык программирования в мире.