5

我使用 Emacs python-mode 和 ipython 作为我的 IDE 来编写 python 代码。Python-mode 提供了一个很好的函数“py-execute-line”来运行一行代码,我已经将它绑定到键“F7”。

所以对于下面的代码:

cell = "Human" #  Move the cursor to this line and run it by pressing F7
print cell     #  Move the cursor to this line and run it by pressing F7

我可以在 ipython 缓冲区中打印输出。

In [80]: 
In [81]: Human

我想知道是否有更直接的方法可以在没有打印命令的情况下检查“单元格”的值。像将光标移动到变量上,按下某个键,然后将值打印在 ipython 输出缓冲区中。

cell = "Human" #  Move the cursor to this line and run it by pressing F7
cell = "Human" #  Move the cursor to "cell" and print its value by pressing ?? key or function

我试过函数(py-execute-expression-ipython),但没有输出输出......

提前致谢!

4

3 回答 3

1

没有突出显示,我使用:

(defun python-eval-expression ()
  (interactive)
  (let ((py-command (read-string "Command: ")))
    (save-excursion
      (setq elpy-shell-echo-output t)
      (setq elpy-shell-echo-input t)
      (elpy-shell--with-maybe-echo (python-shell-send-string py-command)))))

如果存在,应该很容易适应选择当前选择(使用

于 2020-08-28T13:36:57.887 回答
0

不完全是您想要的,但您可以突出显示一个区域(通过按下C-SPC激活标记并移动到该区域的另一侧),然后键入M-|运行shell-command-on-region。然后只需键入python RET以在该区域上运行 Python。

例如,选择这两行:

message = "Hello, Stack Overflow!"
print message

然后键入M-| python RET。“你好,堆栈溢出!”将作为消息出现在屏幕底部。您可以在任何模式下使用任何 shell 命令执行此操作。另请参阅:Shell 命令

于 2014-08-06T18:18:58.950 回答
0

也许考虑在

https://bugs.launchpad.net/python-mode

于 2014-08-07T16:33:23.407 回答