如何在记事本++中执行Python文件?


Answers:


149

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

打开记事本++。在菜单上转到:运行->运行。(F5)。输入:

C:\Python26\python.exe "$(FULL_CURRENT_PATH)"

现在,不用按“运行”,而是按“保存”为其创建快捷方式。

笔记

  • 如果您拥有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”,如果该密钥存在,它将从该密钥的第一个子密钥获取路径。

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


1
嗯,谢谢您到目前为止的帮助。我尝试了选项2,但没有用。它说: i37.tinypic.com/b4fhfm.jpg 在Windows 7上,这可能是问题吗?

26
打开记事本++。在菜单上转到:运行->运行。(F5)。输入:cmd / K“ $(FULL_CURRENT_PATH)”
Ramiz

1
我不明白捷径。我保存它并给它一个快捷键组合,但是那样就不能仅通过按这些键来运行它。我究竟做错了什么?我可以使其成为插件命令,并在选择控制台窗口时使用它。但这完全是错误的。
AlanSE 2014年

3
尽管此答案(#3)似乎是我在网络上找到的最常见的答案,但它对我来说并不理想。问题在于它运行Notepad ++目录中的所有内容。因此,我想出了以下解决方案: cmd / c“ taskkill / F / IM python.exe&cd $(CURRENT_DIRECTORY)&C:\ Python27 \ python.exe -i” $(CURRENT_DIRECTORY)\ $(FILE_NAME) )“” 这将在正确的文件夹中运行代码,并在执行后使解释器保持打开状态。此外,它将关闭您可能忽略关闭的所有其他打开的python窗口,就像我经常这样做的那样。
copeland3300

6
更新:这也适用于我:py -3 -i "$(FULL_CURRENT_PATH)"。有用的链接了解py -3命令:stackoverflow.com/questions/15912063/...
加布里埃尔斯台普斯

42

@ Ramiz Uddin的答案绝对值得更多关注:

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

1
这可以工作,并且更易于配置IMO。还为窗口添加-i以保持打开状态cmd / K python -i“ $(FULL_CURRENT_PATH)”
SwampYeti

值得注意的是,该解决方案需要将Python添加到PATH中。它的工作方式是打开命令行并键入python "$(FULL_CURRENT_PATH)"
Stevoisiak,

在Python 3上不起作用。为此,请在这里查看我的答案:stackoverflow.com/a/48528175/4561887
Gabriel Staples

这称为cmd窗口。我们可以叫powershell吗?
热心的工程师,

20

这是为我工作的东西:

打开记事本++,然后按F5。您会看到一个小弹出框:

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

输入:C:\ Python27 \ python.exe -i“ $(FULL_CURRENT_PATH)”对于Python 2.7。

然后另存为...,并选择您自己的键组合,以在每次您要运行某些内容时启动它


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

14

在菜单上转到:“运行”->“运行...”(或按F5)。

对于Python 2,输入:

py -2 -i "$(FULL_CURRENT_PATH)"

对于Python 3,输入:

py -3 -i "$(FULL_CURRENT_PATH)"

参考文献:

为了py更好地理解命令:

py -h

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

感谢Reshure的回答,这使我走上了正确的道路以解决这一问题。


1
向上。通过CTRL + ALT + P快捷方式使用它。
akinuri

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) 

按Alt + Shift + F5

就那么简单。


更改快捷方式的技巧:搜索快捷方式(而不是名称)。禁用可能会冲突的那个。
JinSnow

可选:要简单地运行脚本(任何脚本,不仅是python),您可以使用插件RunMe(但如果运行python,则不会显示python控制台)
JinSnow

7

“运行”->“运行”菜单选项的所有答案都与cmd的“ / K”开关一起使用,因此终端保持打开状态,对于python.exe则为“ -i”,因此python强制采用交互模式-两者都为您保留输出观察。

然而,在cmd /k你必须输入exit将其关闭,在python -i- quit()。如果您喜欢输入太多内容(对我来说肯定是:),则要使用的“运行”命令为

cmd /k C:\Python27\python.exe  "$(FULL_CURRENT_PATH)" & pause & exit

C:\Python27\python.exe-显然是python安装的完整路径(或仅python当您想使用用户路径中的第一个可执行文件时)。

&是Windows中下一条命令的无条件执行-是无条件的,因为它会与上一条命令的RC无关而运行(&&为“ and”-仅在上一条成功完成时才运行,||-为“ or”)。

pause-打印“按任意键继续...”。并等待任何键(如果需要,可以取消该输出)。

exit -好吧,为您输入出口​​:)

因此,最后,cmd运行python.exe将执行当前文件并保持窗口打开,pause等待您按任意键,并在按任意键后exit最终关闭窗口。


1
这个答案值得
放在第一位

1
我见过的最好的解决方案。
Erik Warming

7

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

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

    C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

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

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

    C:\Path\to\Python\Lib\idlelib\idle.bat "$(FULL_CURRENT_PATH)"

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

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

    C:\Path\to\Python\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"

    这将在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 Script用于运行与Notepad ++交互的脚本,因此您无法运行python文件。)要使用NppExec运行python文件您需要转到的插件Plugins -> NppExec -> Execute,然后输入如下所示的内容(链接:):在此处输入图片说明 在此处输入图片说明

C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

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

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

npe_console m- a+

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

您可以保存NppExec的代码,并为该NppExec的脚本分配快捷键。(您需要打开NppExec插件的“高级”选项,Associated script下拉列表中选择脚本,按Add/Modify,重新启动Notepad ++,转到Notepad ++'es 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年,这是最好,最完整的答案。
Jimmy He

6

先前提出的解决方案均不适合我。需要稍作修改。

在Notepad ++中按F5后,键入:

cmd /k "C:\Python27\python.exe $(FULL_CURRENT_PATH)"

命令提示符保持打开状态,因此您可以查看脚本的输出。


5

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

cmd

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

C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**

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


4

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

分步说明是:

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

我猜Python就在您的道路上。这对我有用,这就是为什么我不必告诉NPP Python在哪里(而且我不相信有任何地方可以告诉NPP Python在哪里)
Ryan

3

这里没有答案,或者我找到的插件提供了我想要的。启动我在Notepad ++上编写的python代码的极简方法,方法是按下快捷键,最好没有插件。

我有适用于Windows 8.1 x86_64和Notepad ++ 32位的Python 3.6(64位)。在Notepad ++中编写Python脚本并将其保存后,请按F5键Run。然后写:

"C:\Path\to\Python\python.exe" -i "$(FULL_CURRENT_PATH)"

然后点击运行按钮。该i标志强制终端在代码执行终止后保持静止,以供您检查。此命令将在cmd终端中启动脚本,并且该终端仍将位于此处,直到您通过键入将其关闭exit()

您可以将其保存到快捷方式中以方便使用(我的是CTRL + SHIFT + P)。


2

上述解决方案中没有解决一个问题。Python将当前工作目录设置为您从其启动解释器的任何位置。如果您需要当前工作目录与保存文件的目录相同,则可以按F5键并输入以下内容:

cmd /K cd "$(CURRENT_DIRECTORY)"&C:\Users\username\Python36-32\python.exe -i "$(FULL_CURRENT_PATH)"

除非您将C:\ Users \ username \ Python36-32 \ python.exe替换为计算机上python解释器的路径。

基本上,您是在启动命令行,将目录更改为包含要运行的.py文件的目录,然后再运行它。您可以使用'&'符号将任意多个命令行命令串在一起。


Notepad ++无法将您识别CURRENT_DIRECTORY为代码文件的目录。
strpeter

2
非常感谢您提供此答案-我已经在当前目录中苦苦挣扎了一段时间。我做了一些修改: cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit 结合了上一个答案的所有要素。
Thornkey

2

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

cmd /k  "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""

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


1

扩展Reshure的答案

  1. 打开运行→运行...从记事本+ +的菜单栏(快捷键:F5

  2. 在给定的空间中,输入:

    "$(FULL_CURRENT_PATH)"  -1
  3. 点击运行

da!


也为了进行错误处理,将整个代码包装在tryexcept块中,在tryexcept块之外导入回溯(我真的不知道是否可以在内部导入traceback),并在其余部分中添加traceback.print_exc();input()
Aditya Shankar

1

我想避免在Notepad ++宏中使用完整的python目录路径。我尝试了此页面中提供的其他解决方案,但均失败了。

在我的PC上运行的是:

在记事本++中,按F5。

复制/粘贴此:

cmd /k cd /d $(CURRENT_DIRECTORY) && py -3 -i $(FULL_CURRENT_PATH)

输入。


0

我最近开始为Python使用Notepad ++,并且发现此方法非常简单。准备好运行代码后,在Notepad ++窗口中右键单击代码选项卡,然后选择“在cmd中打开包含文件夹”。这会将命令提示符打开到存储当前程序的文件夹中。您现在要做的就是执行:

蟒蛇

这是在Notepad ++上完成的(2015年1月10日生成)。

我无法添加屏幕截图,因此这是带有屏幕截图的博客文章-http: //coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html



0

如果有人有兴趣将参数传递给cmd.exe并在虚拟环境中运行python脚本,这些是我使用的步骤:

在Notepad ++-> Run-> Run上,输入以下内容:

cmd /C cd $(CURRENT_DIRECTORY) && "PATH_to_.bat_file" $(FULL_CURRENT_PATH)

在这里,我进入.py文件所在的目录,以便可以访问.py代码目录中的所有其他相关文件。

在.bat文件中,我有:

@ECHO off
set File_Path=%1

call activate Venv
python %File_Path%
pause

0

您可以通过cmd运行脚本,并位于脚本目录中:

cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)

0

我通常更喜欢在python本地IDLE交互式shell上运行我的python脚本,而不是从命令提示符下运行。我已经尝试过了,它对我有用。只需打开“运行>运行...”,然后粘贴以下代码

python  -m idlelib.idle -r "$(FULL_CURRENT_PATH)"

之后,您可以使用热键保存它。

您必须确保已添加所需的python并将其注册到环境变量中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.