使用Spyder(3.10)运行程序后遇弹窗,如何找回结果变量?
解决方案
方法1:通过Anaconda Prompt连接运行中的Spyder内核
- 找到Spyder正在使用的IPython内核文件:
- Windows系统下,文件一般在
C:\Users\[你的用户名]\.ipython\profile_default\security路径里,文件名是kernel-xxxx.json(xxxx为一串数字)
- Windows系统下,文件一般在
- 打开Anaconda Prompt,激活你用的conda环境(比如
conda activate 你的环境名,用base环境就跳过这步) - 没装
jupyter_client的话,先安装:pip install jupyter_client - 执行连接命令:
jupyter console --existing [内核文件的完整路径],举个例子:jupyter console --existing C:\Users\张三\.ipython\profile_default\security\kernel_12345.json - 连接成功后,直接输入变量名就能查看,或者用下面的命令把变量存到本地:
import pickle pickle.dump(你的最终变量名, open('saved_data.pkl', 'wb'))
方法2:直接在Spyder控制台执行保存命令
- 虽然弹窗挡着界面,但Spyder的IPython控制台大概率还能接收指令:
- 点击Spyder窗口的控制台区域,直接输入保存代码,按回车执行就行,比如:
# 通用保存方式(适合大部分变量类型) import pickle pickle.dump(your_final_data, open('final_result.pkl', 'wb')) # 如果是numpy数组 import numpy as np np.save('final_result.npy', your_final_data) # 如果是pandas数据框 import pandas as pd your_final_data.to_csv('final_result.csv', index=False) - 变量会存在Spyder右下角显示的当前工作目录里
- 点击Spyder窗口的控制台区域,直接输入保存代码,按回车执行就行,比如:
后续操作
- 保存完变量再点"Restart now",重启后可以用下面的代码加载回变量:
import pickle loaded_data = pickle.load(open('final_result.pkl', 'rb'))
内容的提问来源于stack exchange,提问作者xywust2014
相关产品推荐
相关产品推荐

