我想找到与Spyder控制台命令等效的iPython控制台。
当我使用Spyder应用程序时,所有变量都会在脚本运行之间保存。 我不仅仅意味着我可以在脚本完成运行后检查值,但这些值将在下一个脚本运行中保留。
Spyder控制台命令(不在iPython控制台中工作):
runfile('some_file.py', wdir='/some/project/folder')
iPython控制台中有类似的命令:
%run -i "some_script.py"
问题是当新脚本开始执行时,此命令会删除旧值。
为什么这很重要?
让我们说我的剧本和其他东西构建了一些需要很长时间(呃)然后我愿意等待(每次)的模型。在Spyder中,我可以在第一次运行它,然后注释掉这行代码,下次只运行其余的代码并从工作内存中提取模型。
(是的,我知道我可以用腌制格式等保存模型,但这完全不是重点)
编辑:
这很尴尬,但由于某种原因,我不再对-i
旗帜有任何问题。所以我能够用它获得所需的功能。也许是因为Anaconda的新版本。
答案 0 :(得分:1)
您可以使用dill(python pickle的扩展名)保存整个会话。因此,您的脚本的每一端都会保存当前会话。
import dill
dill.dump_session("temp.pkl")
每次启动脚本都会加载上一个会话。
import dill
dill.load_session("temp.pkl")
这会保留会话中的所有变量,因此您只需注释掉您不需要更改的变量。