如何在Notepad ++中执行Python文件?

112 python notepad++

我更喜欢使用Notepad ++进行开发,

如何通过Notepad ++在Python中执行文件?

Res*_*ure 136

第一种选择:(最简单,推荐)

打开Notepad ++.在菜单上转到:运行 - >运行..(F5).输入:

C:\Python26\python.exe "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

现在,按"保存"为其创建快捷方式,而不是按"运行".

笔记

  • 如果你有Python 3.1:输入Python31而不是Python26
  • -i如果希望命令行窗口在脚本完成后保持打开,请添加

第二种选择

使用运行Python脚本的批处理脚本,然后从Notepad ++创建一个快捷方式.

如下所述:http://it-ride.blogspot.com/2009/08/notepad-and-python.html


第三种选择:(不安全)

代码打开"HKEY_CURRENT_USER\Software\Python\PythonCore",如果密钥存在,它将从此密钥的第一个子密钥获取路径.

检查此密钥是否存在,如果不存在,您可以尝试创建它.

  • 打开Notepad ++.在菜单上转到:运行 - >运行..(F5).输入:cmd/K"$(FULL_CURRENT_PATH)" (25认同)
  • 更新:这也适用于我:`py -3 -i"$(FULL_CURRENT_PATH)"`.有用的链接,了解`py -3`命令:http://stackoverflow.com/questions/15912063/how-do-i-run-python-2-and-3-in-windows-7 (5认同)
  • 虽然这个答案(#3)似乎是我在网上发现的最常见的答案,但它对我来说效果不佳.问题是它运行Notepad ++目录中的所有内容.因此,我提出了以下解决方案:**cmd/c"taskkill/F/IM python.exe&cd $(CURRENT_DIRECTORY)&C:\ Python27\python.exe -i"$(CURRENT_DIRECTORY)\ $ (FILE_NAME)""**这会在正确的文件夹中运行代码,并在执行后保留解释器.此外,它将关闭你可能忽略关闭的任何其他打开的python窗口,就像我经常做的那样. (3认同)
  • 我不明白捷径的事。我保存它并给它一个快捷组合,但是仅仅按这些键它就不会运行。我究竟做错了什么?我可以将其设为插件命令,并在选择控制台窗口时使用它。但这完全违背了要点。 (2认同)

Mat*_*ler 36

@ Ramiz Uddin的答案肯定值得更多的见解:

  • 打开Notepad ++
  • 在菜单上转到:运行运行...(F5)
  • 输入: cmd /K python "$(FULL_CURRENT_PATH)"

  • 这有效并且更容易配置 IMO。还要为窗口添加 -i 以保持打开状态 cmd /K python -i "$(FULL_CURRENT_PATH)" (3认同)

lox*_*sat 19

这对我有用:

打开记事本++并按F5.你会得到一个小弹出框:

弹出框以输入要运行的程序

为Python 2.7 键入:C:\ Python27\python.exe -i"$(FULL_CURRENT_PATH)".

然后另存为...,并选择自己的密钥组合,以便每次运行时启动它

  • 这是一个很好的简洁答案,当我的实习生去为Python开发设置NPP时,我已将其推荐给我。但是他们始终无法理解在哪里键入命令,因此我添加了一个图形来增强您的指令(对我来说很清楚)。他们还有些麻烦,因为命令的第一部分`C:\ Python27 \ python.exe`必须改变以反映自己的Python的安装位置,而后半部分`-i“ $(FULL_CURRENT_PATH )”`,是魔术,必须照原样输入。 (2认同)

Adr*_* P. 12

首先 https://www.python.org/downloads/ 安装Python

运行安装程序

**重要事项**请务必检查两者:

  • 为所有用户安装启动器
  • 将Python 3.6添加到路径中

单击立即安装并完成安装.

打开notepad ++并从插件管理器安装插件PyNPP.我正在使用N ++ 6.9.2

将新文件另存为new.py

输入N ++

import sys

print("Hello from Python!")
print("Your Python version is: " + sys.version) 
Run Code Online (Sandbox Code Playgroud)

按Alt + Shift + F5

就那么简单.


Gab*_*les 10

在菜单上转到:"运行" - >"运行..."(或只需按F5).

对于Python 2输入:

py -2 -i "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

对于Python 3输入:

py -3 -i "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

参考文献:

py更好地理解命令:

py -h
Run Code Online (Sandbox Code Playgroud)

另一个有用的链接来理解py命令:如何在Windows 7中运行python 2和3?

感谢Reshure的回答,让我走上了正确的道路来解决这个问题.


Tod*_*kov 6

Run-> Run菜单选项的所有答案都与cmd的"/ K"开关一起使用,因此终端保持打开状态,或者"-i"表示python.exe,因此python强制交互模式 - 两者都为您保存输出观察.

然而,在cmd /k你必须输入exit将其关闭,在python -i- quit().如果那是你喜欢的打字太多(对我来说肯定是:),要使用的运行命令是

cmd /k C:\Python27\python.exe  "$(FULL_CURRENT_PATH)" & pause & exit
Run Code Online (Sandbox Code Playgroud)

C:\Python27\python.exe- 显然是你的python安装的完整路径(或者只是python你想要使用用户路径中的第一个可执行文件).

&在Windows中无条件执行下一个命令 - 无条件运行,无论前一个命令的RC是什么(&&"和" - 仅在前一个成功完成时运行,||- 是"或").

pause - 打印"按任意键继续......" 并等待任何键(如果需要可以抑制输出).

exit - 好吧,为你输入退出:)

所以最后,cmd运行python.exe执行当前文件并保持窗口打开,pause等待你按任意键,exit最后按下任意键后关闭窗口.


erb*_*ker 5

我使用NPP_Exec插件(在插件管理器中找到).安装完成后,打开控制台窗口(ctrl +〜)并键入:

cmd
Run Code Online (Sandbox Code Playgroud)

这将启动命令提示符.然后输入:

C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**
Run Code Online (Sandbox Code Playgroud)

执行您正在使用的当前文件.


bar*_*man 5

以前提出的解决方案都不适合我.需要轻微修改.

在Notepad ++中点击F5后,输入:

cmd /k "C:\Python27\python.exe $(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

命令提示符保持打开状态,以便您可以看到脚本的输出.


小智 5

我希望这里的人们会发布步骤,而不仅仅是整体概念。我最终得到了 cmd /k 版本的工作。

分步说明是:

  1. 在 NPP 中,单击菜单项:Run
  2. 在子菜单中,单击:运行
  3. 在 Run... 对话框的 The Program to Run 字段中,删除任何现有文本并输入: cmd /K "$(FULL_CURRENT_PATH)" /K 是可选的,它会保持打开脚本运行时创建的窗口,如果你想要那个。
  4. 点击保存...按钮。
  5. 快捷方式对话框打开;如果你想要一个键盘快捷键,请填写它(有一个注释说“这将禁用加速器”无论是什么,所以也许你不想使用键盘快捷键,尽管当你分配一个快捷键时可能不会有什么坏处不需要加速器)。我认为你必须告诉 NPP Python.exe 文件在哪里(例如,对我来说:C:\Python33\python.exe)。我不知道你在哪里或如何做到这一点,但在这里尝试各种事情时,我能够做到这一点——我不记得哪种尝试成功了。


and*_*nds 5

我还想直接从Notepad ++运行python文件。在线上最常见的选项是使用内置选项Run。然后,您有两个选择:

  1. 在控制台中运行python文件(在Windows中为Command Prompt),使用类似以下代码的代码(链接:在此处输入图片说明 在此处输入图片说明 在此处输入图片说明):

    C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"
    
    Run Code Online (Sandbox Code Playgroud)

    (如果控制台窗口在运行后立即关闭,则可以添加cmd /k代码中。链接:在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明),效果很好,您甚至可以通过添加到代码中来以交互方式运行文件(链接:-i在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明)。

  2. 在运行Python程序空闲的代码类似这样(链接:在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明,在这些链接C:\Path\to\Python\Lib\idlelib\idle.py中使用了,但我C:\Path\to\Python\Lib\idlelib\idle.bat改用了,因为会idle.bat自动设置正确的当前工作目录):

    C:\Path\to\Python\Lib\idlelib\idle.bat "$(FULL_CURRENT_PATH)"
    
    Run Code Online (Sandbox Code Playgroud)

    实际上,这不会在IDLE Shell中运行您的程序,而是在IDLE编辑器中打开您的python文件,然后您需要单击Run Module(或单击F5)运行该程序。因此,它在IDLE编辑器中打开文件,然后您需要从那里运行它,这违背了从Notepad ++运行python文件的目的。

    但是,在网上搜索时,我发现了在您的代码中添加“ -r”的选项(链接:在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明):

    C:\Path\to\Python\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"
    
    Run Code Online (Sandbox Code Playgroud)

    这将在IDLE Shell中运行您的python程序,并且由于它处于IDLE中,因此默认情况下处于交互模式。

通过内置Run选项运行python文件的问题是,每次运行python文件时,您都会打开新的控制台或IDLE窗口,并丢失先前执行中的所有输出。这对某些人可能并不重要,但是当我开始使用python进行编程时,我使用了Python IDLE,因此我习惯于在同一IDLE Shell窗口中多次运行python文件。从Notepad ++运行python程序的另一个问题是,您需要手动保存文件,然后单击Run(或按F5键)。要解决这些问题(AFAIK *),您需要使用Notepad ++插件。NppExec是从Notepad ++运行python文件的最佳插件 。(我还尝试了PyNPPPython脚本PyNPP在控制台中运行python文件,它可以工作,但是您可以通过内置Run选项在不使用插件的情况下做到这一点,并且Python脚本用于运行与Notepad ++交互的脚本,因此您无法运行python文件。)要使用NppExec运行python文件插件,你需要去Plugins -> NppExec -> Execute,然后像键入(链接:在此处输入图片说明 在此处输入图片说明):

C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)

随着NppExec您还可以保存与运行前,你的Python文件命令,设置工作与目录命令或运行Python程序交互模式命令。我发现很多链接(npp_save cd "$(CURRENT_DIRECTORY)" -i 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明)网上提到了这些选项,但是最好使用NppExec来运行python程序,我在NppExec的手册中找到4.6.4. Running Python & wxPython了该程序,其中包含以下代码

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python27  // use Python 2.7
npp_setfocus con  // set the focus to the Console
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console
Run Code Online (Sandbox Code Playgroud)

您需要做的就是复制此代码并在使用其他Python版本的情况下更改python目录(例如*我正在使用python 3.4,因此我的目录为C:\Python34)。这段代码运行完美,但是我在这段代码中添加了一行,因此我可以多次运行python程序而不会失去先前的输出:

npe_console m- a+
Run Code Online (Sandbox Code Playgroud)

a+ 用于启用“附加”模式,该模式将保留先前控制台的文本,但不会清除它。

m- 关闭控制台的内部消息(绿色)

我在NppExec的“执行”窗口中使用的最终代码是:

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python34  // use Python 3.4
npp_setfocus con  // set the focus to the Console
npe_console m- a+
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console
Run Code Online (Sandbox Code Playgroud)

您可以保存NppExec的代码,并为该NppExec的脚本分配快捷键。(您需要打开NppExec插件的“高级”选项,Associated script下拉列表中选择脚本,按Add/Modify,重新启动Notepad ++,转到Notepad ++'s Settings->Shortcut Mapper -> Plugin commands,选择脚本,单击Modify分配快捷键。我想要把F5我的快捷键,这样做,你需要更改内置选项快捷键Run别的先某物)从链接到章节。NppExec手册介绍了如何为您节省NppExec的代码,并指定快捷键:NppExec's "Execute..."NppExec's script

PS *:使用NppExec插件,您可以添加Highlight Filters(位于中Console Output Filters...)突出显示某些行。我用它以红色突出显示错误行,为此您需要添加Highlight masks*File "%FILE%", line %LINE%, in <*>Traceback (most recent call last):就像这样

  • 截至2018年,这是最好、最完整的答案。 (3认同)
  • @JimmyHe:也是从 2021 年开始。 (2认同)

far*_*naa 5

我的问题是,正如copeland3300提到的那样,我的脚本是从notepad++文件夹运行的,因此无法找到其他项目文件,例如数据库文件、模块等。我使用标准notepad++“运行”命令解决了问题( F5) 并输入:

cmd /k  "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""
Run Code Online (Sandbox Code Playgroud)

Python 在我的路径中。脚本完成后,Cmd 窗口保持打开状态。