首页 > 解决方案 > 我如何制作一个可以接受来自我的 python 程序的用户输入的 sublime text 3 构建系统

问题描述

到目前为止,我在网上找到了以下构建系统:

{
 "cmd": ["python3", "-u", "$file"],
 "file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
 "selector": "source.python"
}

但它不起作用。在我提供了我的输入然后按 ENTER 后,光标只会向下移动到下一行。如果我继续按 ENTER,光标会继续向下移动。基本上,它不会捕获我的输入。

标签: python-3.xinputsublimetext3

解决方案


正如@Joshua 所建议的,您可以使用SublimeREPL。或者,如果您想使用自定义构建系统来解决它,您应该创建一个通过外部终端执行 python 脚本的构建系统(因为 Sublime 中的输出面板只显示输出,而不听输入)。大多数终端应用程序都可以选择执行提供的命令。例如,如果您对终端使用终结器,则可以使用以下构建系统:

{
    "shell_cmd": "terminator -p sublime -e \"python -u $file; echo [Finished with exit code \\$?]\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
}

它在终结器终端中执行您的 python 脚本。sublime通过该选项提供的配置文件是启用了 --p选项的自定义终结器配置文件。When command exists - Hold the terminal open


推荐阅读