10

有没有一种方法可以查看当前工作区中的 IPython 变量列表,而无需发送命令“whos”。我经常发现自己不记得在键入命令时要使用哪些变量名。

在 IPython 中,我必须删除我正在输入的当前行并发送一个“whos”语句以查看当前可用的变量。通常,在 MATLAB 等基于 GUI 的工具中,我只会在我的工作区变量窗口中向右看。

4

5 回答 5

10

正如其他人所说,您可以在同一个 Ipython 内核上拥有任意数量的前端,例如,一个内核的 2 个命令窗口。如果你使用 Qt 控制台,快捷方式可以让你接近你想要的。

使用Ctrl+Shift+T启动具有相同内核的第二个选项卡。然后,您只需在第一个选项卡上编写代码,当您需要 的输出时whos,按Ctrl+PageDown进入另一个选项卡,您可以在whos不删除第一个选项卡中的代码的情况下运行。

于 2012-08-17T10:08:34.717 回答
5

这不是一个直接的答案,但无论如何可能对您有用。至少在我使用的系统上,

Ctrl-a 将光标定位在行首

Ctrl-k 将“杀死”该行(认为剪切)

输入谁

Ctrl-y 将“拉”线,因为它回来了(想想粘贴)

这些是 emacs 键绑定,顺便说一句,并显示在许多地方,如 Bash 和使用 readline 库的任何地方。

于 2012-08-20T23:02:09.363 回答
4

您可以在单个 IPy 内核上拥有任意数量的 IPython 前端,所以是的,如果您想要另一个前端,您可以这样做,但它看起来很笨拙。你不能使用 IPython Notebook 吗?

于 2012-08-16T16:45:47.903 回答
1

您是否在问是否可以从另一个 shell 实例访问 IPython 的变量?

因为现在的方式是,您有一个命令窗口,您可以在其中通过发出命令与 shell 交互,所以与 MATLAB 不同的是,没有其他窗口可以查看其他信息,所以除非您有,否则我不知道这怎么可能IPython 的另一个实例以某种方式从您当前的 shell 访问信息。

所以答案似乎是否定的。

(如果有可能做到这一点,我会和你一样高兴地发现)

于 2012-08-16T16:15:38.247 回答
1

在 iPython notebook 中,调用魔术函数“%qtconsole”,会出现一个控制台,使用相同的内核。或者,在终端中,您可以键入“ipython qtconsole --existing”以启动 qtconsole 中的最新内核。如果您知道内核的名称(如启动时的终端输出所示),那么您可以明确告诉它,“ipython qtconsole --existing 87f7d2c0”

于 2014-02-25T01:23:25.453 回答