首页 >后端开发 >Python教程 >如何在 Python 脚本的 Sublime Text 中处理用户输入?

如何在 Python 脚本的 Sublime Text 中处理用户输入?

Barbara Streisand
Barbara Streisand原创
2024-12-06 19:15:12925浏览

How Can I Handle User Input in Sublime Text for Python Scripts?

解决 Sublime Text 中的输入处理挑战

Sublime Text 广泛用于代码编辑,但它缺乏通过 raw_input() 等函数处理用户输入的原生能力在Python中。对于那些依赖脚本中的输入的人来说,此限制可能会令人沮丧。

使用 SublimeREPL 进行输入处理

一种解决方案是通过 Package Control 安装 SublimeREPL 包。该包允许您将代码片段发送到正在运行的 REPL(读取-评估-打印循环),从而有效地启用输入处理。但是,它可能需要手动调整构建文件以确保兼容性。

为输入创建自定义构建系统

如果 SublimeREPL 不能满足您的需求,您可以创建自己的自定义构建允许输入的系统。操作方法如下:

对于 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"}
}

将这些构建系统保存为 Sublime Text Packages/User 目录中的 .sublime-build 文件。

使用 Terminus 插件进行输入处理

另一个选择是使用 Terminus 插件。它为默认构建系统引擎提供了独立于平台的替代。借助 Terminus,您可以在代码下方的构建面板中与正在运行的程序进行交互。以下是 Python 的示例构建系统:

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

记住调整 Python 可执行文件的路径。

通过采用这些解决方案,您可以克服 Sublime Text 的输入处理限制并增强您的脚本构建经验。

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

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