从ST编辑器运行时,如何在控制台中显示python脚本的结果?
我是新的崇高文本,所以我不熟悉它的内部迄今为止。据我所知,这个问题可能与某些方面有关 我有一个python脚本从ST编辑器运行时,如何在控制台中显示python脚本的结果?,python,windows-7,sublimetext,sublimetext3,build-system,Python,Windows 7,Sublimetext,Sublimetext3,Build System,我是新的崇高文本,所以我不熟悉它的内部迄今为止。据我所知,这个问题可能与某些方面有关 我有一个python脚本 var = raw_input("Enter something: ") print "You entered ", var 它请求输入,等待输入,然后在windows控制台提示符中打印输出 如何在“构建”时制作ST3以在控制台窗口中显示结果?for是SublimiteText的插件 它不打开cmd实例,但可以为您提供一个REPL,您可以在其中提供输入,而在默认控制台上通常无法提供输
var = raw_input("Enter something: ")
print "You entered ", var
它请求输入,等待输入,然后在windows控制台提示符中打印输出
如何在“构建”时制作ST3以在控制台窗口中显示结果?for是SublimiteText的插件
它不打开cmd实例,但可以为您提供一个REPL,您可以在其中提供输入,而在默认控制台上通常无法提供输入
安装
Install Package Control. http://wbond.net/sublime_packages/package_control
Install SublimeREPL
Preferences | Package Control | Package Control: Install Package
Choose SublimeREPL
Restart SublimeText2
Configure SublimeREPL (default settings in Preferences | Package Settings |
SublimeREPL | Settings - Default should be modified in Preferences |
Package Settings |SublimeREPL | Settings - User,
this way they will survive package upgrades!
文档中的注释:
ctrl+,f表示:按ctrl和逗号,全部释放,按f.
上面的keybinding用于在REPL中进行计算
如果SublimateText提示找不到“语言”的REPL,则需要通过打开REPL
Tools | SublimeREPL | Language
我希望这能有所帮助这其实非常简单,但要把各个部分连接起来需要大量的挖掘工作。我首先想到了一种使用批处理文件的更为迂回的方法,但经过更多思考后,我将其全部放在了一个单一的Sublime构建系统中 捷径 以下几点效果不错:
{
“cmd”:[“start”、“cmd”、“/k”、“c:/python27/python.exe”、“-u”、“$file”],
“选择器”:“source.python”,
“壳”:没错,
“工作目录”:“$file\u dir”
}
将其另存为Packages/User/Python\u cmd.sublime build
,选择Tools->build System->Python\u cmd
,然后使用CtrlB进行构建
start
言行一致,开始一个独立于崇高文本的新过程cmd
是Windows命令行解释器cmd.exe
。程序运行后,/k
标志保持窗口打开(在新命令提示下),允许您检查其输出、查看回溯、运行其他命令等。如果您不需要该功能,请将其更改为/c
(如下所示),程序运行完成后,cmd
窗口将关闭
我已经在XP和Win7上测试了它,在ST2和ST3上都测试过了,它在所有的机器上都运行得很好,不需要修改
我最初的解决办法是: 首先,创建
run_python.bat
并将其存储在Packages/User
目录中(可从Preferences->Browse Packages…
菜单选项访问):
显然,如果路径与您的不同,请将其调整为python.exe
。接下来,使用以下内容创建Packages/User/Python\u cmd.sublime build
:
{
“cmd”:[“start”、“cmd”、“/c”、“run_python.bat”、“$file”],
“选择器”:“source.python”,
“壳”:没错,
“工作目录”:“$packages/User”
}
保存它,选择Tools->buildsystem->Python\u cmd
,切换到上面的Python程序,点击CtrlB,我的朋友,你就可以开始了。如果希望cmd.exe
窗口保持打开状态以在提示下输入更多命令,请将/c
更改为/k
。我还没有用任何GUI测试过这一点,但是假设您现在可以从命令行启动它们,它们应该可以使用这一点
我已经在XP上测试过了,所以它也可以在Win7上使用。它还应该适用于Sublime Text 2。只需发出一个命令来启动一个新的
cmd.exe
,就非常简单了
start cmd /K python main.py
更多信息请参见(古代)
/k
标记“pipes”将其他命令发送到cmd.exe
,并一直运行,直到您自己退出shell,这在您希望查看跟踪时非常有用
C标志“pipes”将其他命令发送到cmd.exe
,并一直运行到python程序完成为止
因此,在项目文件中,您应该有如下内容:
"build_systems": [
{
"name": "RunPY",
"cmd": ["start", "cmd", "/K", "python", "main.py"],
"shell": true,
"working_dir": "<project_path>"
},
]
“构建系统”:[
{
“名称”:“RunPY”,
“cmd”:[“start”、“cmd”、“/K”、“python”、“main.py”],
“壳”:没错,
“工作目录”:”
},
]
虽然我们在Sublime中讨论了build\u systems
,但我想推荐这个插件,它在ST3上运行正常,只是当您在项目文件中添加新的构建时,它并不总是注意到。这也意味着您必须为ST3手动安装插件
有了这个插件,你只需按几个键就可以轻松定义和运行不同的构建。一个实时节省器。这里是OSX的一个变体,以防它对任何人都有用: 转到工具->构建系统->新建构建系统
{
"cmd": ["/opt/X11/bin/xterm", "-e", "python -u \"$file\""],
"selector": "source.python"
}
您可以找到有关语法的更多详细信息
保存它(例如,在升华文本提供的目录中使用名称mytestbuild.sublime build
),切换到Python文件,从工具->构建系统->mytestbuild中选择构建系统,然后点击cmdB
这将打开一个xterm,并在xterm窗口中运行Python代码。如果要使用Terminal.app,可能需要使用中的一个技巧。[此解决方案显示Sublime中的输出,但显示为另一个窗格中显示的自动更新文本文件]
要使输出在Sublime中显示为另一个文件,请执行以下操作:
Tools>buildsystems>newbuildsystem…
Tools>buildsystems>{your_new_build_system_filename}
“file.py”
您将有“文件”.\uu STDOUT\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
{
"cmd": ["/opt/X11/bin/xterm", "-e", "python -u \"$file\""],
"selector": "source.python"
}
{
"cmd": ["python.exe", "$file", "1>", "$file_name.__STDOUT__.txt", "2>", "$file_name.__STDERR__.txt"],
"selector": "source.python",
"shell": true,
"working_dir": "$file_dir"
}