如何在Notepad++中运行Python脚本?

39

当我使用TextMate时,我只需按下“苹果+r”键,程序就会被解释运行。那么我如何在Notepad++中运行程序呢?我发现F5是用于“运行”的,但将其指向Python.exe只会打开一个带有Python的终端,而不是运行我的脚本。


嗨,查德,最佳答案对你来说可接受吗?如果是,请标记它或提供更多规格。 - Cees Timmerman
6个回答

51

插件 NppExec 执行(F6)比普通运行(F5)更加强大。通过插件管理器安装 NppExec 插件。接着在 F6 中添加/保存以下内容:

NPP_SAVE
cd "$(FULL_CURRENT_PATH)"
C:\Python34\python.exe -u "$(FULL_CURRENT_PATH)"

在NppExec插件控制台输出过滤器中(Shift+F6),添加以下高亮掩码:
*File "%FILE%", line %LINE%

确保它被选中,例如将其设置为红色并加下划线。

在 "F6/execute" 后将会突出显示错误并可点击!

此功能适用于 NPP568,可能也适用于更早的版本。


1
ABSFILE 对我没用,我不得不使用这个:****文件 "%FILE%",行 %LINE%****。 - Martin Sherburn
2
为了使其适用于语法错误(以及运行时错误),请使用 *File "%ABSFILE%", line %LINE%。由于语法错误不会提到发生错误的模块,因此 , in* 部分不适用于语法错误。 - Eric
1
如果您想让这变得超级方便,您还可以设置一个控制台快捷方式,就像这样:npe_cmdalias p = python "$(FULL_CURRENT_PATH)"。这意味着您只需弹出控制台视图,键入“p”,您的脚本将运行。 - Assad Ebrahim
执行窗口一直弹出来。有什么方法可以抑制它吗?我想按F6键并立即查看控制台输出,而不必每次都手动关闭窗口。 - Jan M.
1
@PatronBernard,你可以直接按CTRL+F6。 - CryptoPiggy
显示剩余2条评论

13
你需要按照 notepad++ wiki 中的描述,将 FULL_CURRENT_PATH 环境变量传递给程序。
python "$(FULL_CURRENT_PATH)"

FYI 链接已经失效。 - Excellll
新链接:notepad++ wiki - ands

8
您可以使用PyNPP插件(https://github.com/mpcabd/PyNPP)来实现此功能。
我知道这已经有点过时了,但这个答案是给那些通过搜索找到这里的人。

7

也可以使用pdb

以上答案对于让它工作非常有用。然而,一旦我能够运行Python程序,我还需要与它们交互。我发现了两件事。

  1. 如果您想与程序交互(例如提供命令行输入),请使用“python -u -i $(FULL_CURRENT_PATH)”。
  2. 要使用很棒的PDB,请使用“python -u -m pdb $(FULL_CURRENT_PATH)”,然后您也可以轻松调试程序。:-) 真是太好用了!

2
如果您安装了NppExec插件(默认已安装),请按F6并添加执行脚本的命令。
python /path/to/script.py

0

除非我漏了什么,否则其他讨论 NppExec 的答案都没有提供一种方法来通过单个按键运行脚本,或者(当按下 F6 时,执行对话框总是弹出,必须接受才能运行脚本)。

在完成 bjornhb's answer 中的步骤后,以下操作将允许您通过仅一个按键运行脚本:

  1. 在 插件->NppExec->高级选项 下创建一个新的菜单项。我只是简单地命名为 Python。在关联脚本下拉框中选择之前保存的脚本,然后单击 添加/修改。单击 确定
  2. 重新启动 Notepad++。
  3. 在 设置->快捷键映射器 中,单击顶部的 插件命令 标签。向下滚动并在左侧找到您的命令名称。在 Shortcut 列旁边的白色框中双击,以选择适当的键(或组合)并接受。按下快捷键将运行脚本,无需进一步输入。

按下 ctr+f6 可以执行最后一次 NppExec 命令。 - Alexander Van Atta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接