python – Sublime Text 3的构建系统问题 – 无法从正在运行的程序中获取输入

参见英文答案 > Sublime Text 2 console input                                    2个
我正在尝试使用Sublime Text 3(构建3049,如果这很重要)来运行Python脚本.一个简单的两个班轮

var = raw_input("Enter something: ")
print "You entered ", var

请求输入,等待它,然后在Windows控制台提示符下打印出来.

看到网站上类似问题的数量,这对很多用户来说都是一个问题,所以我经历了那些尝试过的东西.制作了exec.py文件的副本,注释了一行,制作了一个新的pythonw构建文件,试图弄乱构建文件……似乎没什么用.

缺乏明确的解决方案,你如何使用Sublime Text 3使用Python?

解决方法:

首先,因为你正在使用开发构建,你必须是一个注册用户(好!)我推荐upgrading到3053,这是最新版本,因为在修复已知问题方面,更新通常更好.其次,仅供参考,在docs.sublimetext.info有一套相当完整的(非官方)文档.它们组织良好,相当新,并且比sublimetext.com上的“官方”文档覆盖更多.最后,为响应您的comment,Sublime附带了一个内置的Python的精简版本. ST2有2.6,而ST3有3.3,所以如果你编写插件,你需要符合那些语言规范.您可以通过按Ctrl`从控制台运行任意commands.

正如几个SO问题中所述,Sublime Text本身无法通过raw_input()或input()处理输入.其他语言也是如此 – Ruby的获取,Java的Scanner类,Node的readline类等.最简单的短期解决方案是获取Package Control,如果你还没有它,那么安装SublimeREPL.它允许你通过运行REPL传输或运行部分或全部代码(您需要先启动一个代码).

如果您运行的代码与SublimeREPL不兼容(例如,您正在使用C/C++ / Java /等,并且需要在运行之前编译代码),或者您只想独立于Sublime运行它,你需要自己制作build system.将以下内容保存为Packages / User / Python_cmd.sublime-build:

{
    "cmd": ["start", "cmd", "/k", "c:/python27/python.exe", "$file"],
    "selector": "source.python",
    "shell": true,
    "working_dir": "$file_dir"
}

根据需要更改Python可执行文件的路径.然后,转到工具 – >构建系统并选择Python_cmd,当您按CtrlB进行构建时,将打开一个新的cmd窗口,文件正在运行.程序运行完毕后,/ k选项返回到命令提示符,而不关闭窗口,这样您就可以检查输出,回溯等.

上一篇:c – Sublime text 3 – 编译程序并在终端中运行


下一篇:Java脚本,如何开始?将文件链接到Javascript