#python #spyder
#python #spyder
Вопрос:
По сути, у меня есть 2 функции, вторая принимает вывод первой в качестве параметра. Что-то вроде:
value1 = function1()
value2 = function2(value1)
Я хочу избежать запуска первого, так как для его запуска требуется много времени (5 минут ). В jupyter notebook вы можете просто закомментировать первую строку, и она будет выполняться без проблем, но в Spyder говорится, что значение 1 не определено. Есть ли какой-либо способ сделать это в spyder?
Комментарии:
1. Просто запустите функцию один раз, распечатайте
value1
, затем закомментируйте первую строку и просто добавьте что-то вродеvalue1 = 42
или независимо от результата function1 .2. в качестве альтернативы, для более сложных данных, вы можете сохранить свой результат в текстовом файле и заставить function2 извлекать данные из файла
3. Я должен был добавить, что value1 на самом деле является довольно большим фреймом данных. Но я надеялся, что будет просто быстрый способ, как в Jupyter. Вместо этого я запишу его в pkl / txt. Спасибо
Ответ №1:
(Сопровождающий Spyder здесь) Это идеальный случай для ячеек кода, которые представляют собой блоки кода, которые вы можете оценивать независимо.
Для этого вам нужно создать ячейку между value1
и value2
, добавив между ними комментарий, подобный этому:
value1 = function1()
# %%
value2 = function2(value1)
Затем вы можете запустить ячейку, содержащую value1
только один раз, поместив туда курсор и нажав Shift Enter
. После этого вы можете изменить содержимое второй ячейки и запускать ее столько раз, сколько захотите Shift Enter
, без повторной оценки value1
.