有没有一种方法可以查看当前工作区中的 IPython 变量列表,而无需发送命令“whos”。我经常发现自己不记得在键入命令时要使用哪些变量名。
在 IPython 中,我必须删除我正在输入的当前行并发送一个“whos”语句以查看当前可用的变量。通常,在 MATLAB 等基于 GUI 的工具中,我只会在我的工作区变量窗口中向右看。
正如其他人所说,您可以在同一个 Ipython 内核上拥有任意数量的前端,例如,一个内核的 2 个命令窗口。如果你使用 Qt 控制台,快捷方式可以让你接近你想要的。
使用Ctrl+Shift+T启动具有相同内核的第二个选项卡。然后,您只需在第一个选项卡上编写代码,当您需要 的输出时whos
,按Ctrl+PageDown进入另一个选项卡,您可以在whos
不删除第一个选项卡中的代码的情况下运行。
这不是一个直接的答案,但无论如何可能对您有用。至少在我使用的系统上,
Ctrl-a 将光标定位在行首
Ctrl-k 将“杀死”该行(认为剪切)
输入谁
Ctrl-y 将“拉”线,因为它回来了(想想粘贴)
这些是 emacs 键绑定,顺便说一句,并显示在许多地方,如 Bash 和使用 readline 库的任何地方。
您可以在单个 IPy 内核上拥有任意数量的 IPython 前端,所以是的,如果您想要另一个前端,您可以这样做,但它看起来很笨拙。你不能使用 IPython Notebook 吗?
您是否在问是否可以从另一个 shell 实例访问 IPython 的变量?
因为现在的方式是,您有一个命令窗口,您可以在其中通过发出命令与 shell 交互,所以与 MATLAB 不同的是,没有其他窗口可以查看其他信息,所以除非您有,否则我不知道这怎么可能IPython 的另一个实例以某种方式从您当前的 shell 访问信息。
所以答案似乎是否定的。
(如果有可能做到这一点,我会和你一样高兴地发现)
在 iPython notebook 中,调用魔术函数“%qtconsole”,会出现一个控制台,使用相同的内核。或者,在终端中,您可以键入“ipython qtconsole --existing”以启动 qtconsole 中的最新内核。如果您知道内核的名称(如启动时的终端输出所示),那么您可以明确告诉它,“ipython qtconsole --existing 87f7d2c0”