我想写一个python脚本,它可以从现有的ipython内核导入所有的局部变量。在
我看了一下ipythonapi,但没有真正找到我想要的。在
以下是几个更精确的问题:
1-ipython API中是否有一个函数可以列出所有现有的活动ipython内核?在
2-有没有可能在不启动嵌入式ipython的情况下从内核获取所有变量?在
编辑:这背后的想法是在文本模式下为python制作一个变量资源管理器,可以实时显示给定内核中的局部/全局变量
编辑:我写了下面的类,它可以做我想做的事情。然而,我认为这不是最佳的。尤其是,get_iopub_message非常无聊。实际上,它获取所有消息(甚至是“idle”和“busy”),但我没有找到更直接的方法来访问who输出。在class Watcher(Thread):
def __init__(self, km, delay):
Thread.__init__(self)
self.km = km
self.delay = delay
self.msg, self.variables = self.InitWhos()
def run(self):
''' Main loop '''
while True:
try:
data = self.km.get_iopub_msg(timeout=0.1)
self.msg = 1
except Empty:
pass
else:
try:
if data[