刚开始用 Sublime Text 3(以下简称 ST3)来配置python开发环境的朋友们,对于如何运行编写好的脚本,通常有两种办法:
一是直接用ST3的控制台来运行,存在的问题是这种方法没法实现即时输入;
另一种方法是用SublimeREPL插件,但这又存在问题:遇到高次数的循环输出(循环10000000次输出“hello world”这样)会导致ST3直接未响应。
解决这所有的问题的方法,就是能不能直接在ST3内调用cmd来运行python脚本?
首先呢,我们需要新建一个编译系统(工具 — 编译系统 — 新建编译系统),然后输入如下代码:
{
"cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Check && Run",
"shell": true,
"cmd" : "python -m py_compile \"$\" && start cmd /c \"python \"$/$.py\" & pause\""
},
{
"name": "Syntax Check",
"cmd": "python -m py_compile \"$\"",
}
]
}
按 ctrl + s 保存,保存路径默认即可,将文件名中的untitled 替换你想要的名字(这会是显示在菜单中的名字),其余不要改动,保存即可。
然后在 工具 — 编译系统 下选择这个编译系统,首次调用这个编译系统时,点击 工具 下的 用...编译 ,选择 — Check && Run 就ok啦,以后写完python脚本按 ctrl + b 快捷键就能直接和 cmd 愉快的py啦~
代码解读
最重要的是这一部分
{
"name": "Check && Run",
"shell": true,
"cmd" : "python -m py_compile \"$\" && start cmd /c \"python \"$/$.py\" & pause\""
}
name标签决定了显示在 工具 — 用...编译 弹出的命令面板中的名字—
"shell": true
必须,不便解释。
"cmd" : "python -m py_compile \"$\" && start cmd /c \"python \"$/$.py\" & pause\""
这一部分中,
python -m py_compile \"$\"
作用是检查并编译脚本; && 表示若前面的指令成功则继续执行后面的指令;start cmd 就是弹出cmd窗口,/c参数表示执行完后续指令自动关闭窗口,为了避免一闪而过,所以最后加了 pause 指令。
\"python \"$/$.py\"
这就是调用python执行当前脚本,一般会在中间加一个参数 -u 。
如有错误,欢迎留言指正。
领取专属 10元无门槛券
私享最新 技术干货