如何在Win32的Emacs中运行交互式命令行Python应用?
如果我在Emacs中使用M-x shell来运行交互式的Python解释器,Windows上的Emacs不会返回任何输入输出。
当我发现M-x python-shell时,我又重新燃起了希望。不过,我并不是想运行交互式的Python shell,而是想运行一个特定的Python脚本,这个脚本有一个交互式的命令行界面。(具体可以参考Python的cmd模块)。
有没有办法在Emacs中启动一个交互式的Python脚本?(包括标准输出、标准输入和标准错误)
3 个回答
-1
你可以通过输入 python.exe -i 来以交互模式运行 Python。
另外,你也可以下载 ipython,然后直接运行 ipython.exe。
2
你应该了解一下其他的命令行模式,比如TERM模式和ANSI模式。我觉得它们可以支持交互式的命令行程序。
2
我从这里拿了一个命令行的例子:http://www.doughellmann.com/PyMOTW/cmd/index.html
看起来例子中的所有输入行都有一个 (Cmd) 的提示符——不确定这是不是每次都是这样。
我在 python.el 文件中修改了 python-shell 的定义,加入了 "(Cmd) "
(setq comint-prompt-regexp "^>>> \\|^[.][.][.] \\|^(pdb) \\|^\\(Cmd\\) ")
重新评估了 python-shell 的区域,启动了 shell,并使用以下命令加载了脚本:
>>> execfile("script.py")
输入和输出似乎都能正常工作……但我不确定错误输出(stderr)是否也能正常工作,或者这在更复杂的脚本中是否也能用。