20

我正在尝试让 Sublime Text 3 运行 Python 脚本。一个简单的两班轮

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

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

看到网站上类似问题的数量,这对相当多的用户来说都是一个问题,所以我经历了这些并尝试了......东西。制作了 exec.py 文件的副本,评论了这一行,制作了一个新的 pythonw 构建文件,尝试弄乱构建文件......似乎没有任何效果。

在缺乏明确的解决方案的情况下,您如何使用 Sublime Text 处理输入?

4

5 回答 5

33
于 2013-10-10T13:50:02.173 回答
1

要添加来自Shritam Kumar Mund的答案,为此进行键绑定:

{ "keys": ["alt+k", "alt+k"], "command": "repl_open", "args": {"cmd": ["python", "-u", "$file_basename" ],“cwd”:“$file_path”,“encoding”:“utf8”,“extend_env”:{“PYTHONIOENCODING”:“utf-8”},“external_id”:“python”,“syntax”:“包/ Python/Python.tmLanguage", "type": "subprocess"}},

我通过在控制台中使用以下内容找到了这一点:

sublime.log_commands(True)
于 2021-08-20T05:31:06.980 回答
0

thx @MattDMo 的答案,不需要安装任何插件。但是在我在 MacOS 中尝试了 cmd 之后:

"shell_cmd": "osascript -e 'tell app \"Terminal\" to do script \"cd $file_path && python3 -u $file\"'",

我发现它似乎每次都从后台运行,这很不方便。

所以我尝试了另一种方法:使用 temp.sh 运行。这是命令:

"cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"], 

这种方法会在前面弹出一个新窗口,稍作修改后在其他平台上应该是可行的,但我没有尝试。

这是“python_input.sublime-build”中的完整内容:

{
    "cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"},
}
于 2021-11-08T05:06:44.003 回答
0

你可以使用这个sublime_build文件,当你按下ctrl+时,它会在 cmd 上运行B

只需转到tool -> sublime build-> new build system并按原样粘贴下面给出的内容;

我根据我的经验亲自编辑了这个 sublime 构建文件,相信我它有一些很好的功能:

  1. 程序终止或结束时颜色变化
  2. 交互式输出和输入
  3. 控制台窗口自动打开
  4. 程序完成后暂停并等待进入
{
"cmd":["start", "cmd", "/c" ,"python $file && color b0 && pause"],
"selector": "source.python",
"working_dir": "${file_path}",
"file_regex": "(.+):(\\d+): error: ",
"shell": true 
}
于 2021-01-16T09:53:14.260 回答
0

Sublime Text 不支持将数据输入到程序中。要使用输入,您需要安装一个名为SublimeREPL的包。按照这个:

  1. 打开崇高文本>> CTRL + P

  2. CTRL + P 将打开包控件

  3. 点击包控制:安装包
  4. 等待一秒钟弹出搜索栏。
  5. 输入 SublimeREPL 并单击它。它将在几秒钟内安装。

然后按照以下步骤运行您的程序;

  1. 工具 >> SublimeREPL >> Python >> Python 运行当前文件

它将打开一个新窗口,您可以在其中输入并获取输出。

于 2020-05-10T12:10:00.957 回答