首页 >后端开发 >Python教程 >运行 Python 程序时如何处理 Sublime Text 中的用户输入?

运行 Python 程序时如何处理 Sublime Text 中的用户输入?

Linda Hamilton
Linda Hamilton原创
2024-12-08 00:21:12866浏览

How Can I Handle User Input in Sublime Text While Running a Python Program?

在程序执行期间处理 Sublime Text 中的用户输入

无法将输入发送到 Sublime Text 中正在运行的 Python 程序?由于 Sublime Text 本身的限制,这是一个常见问题。它不支持处理来自 raw_input() 或 input() 等函数的输入。

解决方案:

1. SublimeREPL 插件:

安装 SublimeREPL 插件以通过正在运行的 REPL 传输或执行代码部分。配置 Main.sublime-menu 文件来设置您首选的解释器。

2.自定义构建系统:

为 Windows、macOS 或 Linux 创建自定义构建系统。对于 Windows:

{
    "cmd": ["start", "cmd", "/k", "c:/python38/python.exe", "$file"],
    "selector": "source.python",
    "shell": true,
    "working_dir": "$file_dir",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

对于 macOS:

{
    "shell_cmd": "osascript -e 'tell app \\"Terminal\\" to do script \\"cd $file_path &\& python3 -u $file\\"'"",
    "working_dir": "$file_path",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

对于 Linux:

{
    "shell_cmd": "gnome-terminal --working-directory=$file_path -- bash -c 'python3 -u \\"$file\\" &\& read -n 1 -s -r'"",
    "working_dir": "$file_path",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

3. Terminus 插件(推荐):

安装 Terminus 插件并创建以下构建系统:

{
    "target": "terminus_exec",
    "cancel": "terminus_cancel_build",
    "cmd": [
        "/path/to/python", "-u", "$file"
    ],
    "working_dir": "$file_path",
    "file_regex": "^[ ]*File \\"(...*?)\\", line ([0-9]*)""
}

Terminus 提供了一种在下面的构建面板中与程序交互的便捷方式你的代码。

以上是运行 Python 程序时如何处理 Sublime Text 中的用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn